[package] name = "glsl-lang" version = "0.7.2" authors = ["Alixinne "] edition = "2021" license = "BSD-3-Clause" description = "GLSL 4.6 language LALR parser and AST" homepage = "https://github.com/alixinne/glsl-lang" documentation = "https://docs.rs/glsl-lang/" repository = "https://github.com/alixinne/glsl-lang" readme = "README.md" keywords = ["glsl", "language", "parser", "ast"] categories = ["parser-implementations", "rendering"] [dependencies] lalrpop-util = { version = "0.20.0", default-features = false, features = ["std"] } once_cell = "1.17.1" thiserror = "2.0" lang-util = { version = "=0.7.2", features = ["lalrpop"] } glsl-lang-pp = { version = "=0.7.2", optional = true } glsl-lang-lexer = { version = "=0.7.2", features = ["lalrpop"] } glsl-lang-types = "=0.7.2" rserde = { version = "1.0", optional = true, features = ["derive"], package = "serde" } [build-dependencies] lalrpop = "0.20.0" [dev-dependencies] lang-util-dev = "=0.7.2" glsl-lang-pp = "=0.7.2" criterion = "0.5" expect-test = "1.3" glsl = "7" [[test]] name = "pos_error" required-features = ["lexer-v2-full"] [[bench]] name = "glsl" harness = false [features] # Default: only parse full translation units default = [] # Provide interface to lexers through the lexers module lexer-v1 = ["glsl-lang-lexer/v1"] lexer-v2-min = ["glsl-lang-lexer/v2-min"] lexer-v2-full = ["glsl-lang-lexer/v2-full"] # Additional sub-parsers. Increases compilation time. parser-expr = [] parser-statement = [] # AST Serialization serde = ["rserde", "lang-util/serde", "glsl-lang-lexer/serde", "glsl-lang-types/serde"]