[package]
edition = "2024"
name = "cgrammar"
version = "0.9.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A comprehensive C language grammar parser library written in Rust, implementing the C23 standard (ISO/IEC 9899:2023)."
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/Wybxc/cgrammar"
[features]
dbg-pls = ["dep:dbg-pls"]
printer = ["dep:elegance"]
quasi-quote = [
"dep:dyn-clone",
"dep:dyn-eq",
]
report = ["dep:ariadne"]
[lib]
name = "cgrammar"
path = "src/lib.rs"
[[example]]
name = "ast_dump"
path = "examples/ast_dump.rs"
[[example]]
name = "custom_attribute"
path = "examples/custom_attribute.rs"
[[example]]
name = "pretty_printer"
path = "examples/pretty_printer.rs"
[[example]]
name = "quasi-quote"
path = "examples/quasi-quote.rs"
[[example]]
name = "shrink_test_case"
path = "examples/shrink_test_case.rs"
[[test]]
name = "error-recovery"
path = "tests/error-recovery.rs"
[[test]]
name = "parse-test"
path = "tests/parse-test.rs"
[[test]]
name = "printer-test"
path = "tests/printer-test.rs"
[[test]]
name = "quasi-quote"
path = "tests/quasi-quote.rs"
[[test]]
name = "visitor-test"
path = "tests/visitor-test.rs"
[dependencies.ariadne]
version = "0.6.0"
optional = true
[dependencies.chumsky]
version = "0.12.0"
features = [
"extension",
"pratt",
"regex",
]
[dependencies.dbg-pls]
version = "0.4.3"
features = [
"derive",
"pretty",
]
optional = true
[dependencies.derive_more]
version = "2.1.1"
features = [
"index",
"index_mut",
]
[dependencies.dyn-clone]
version = "1.0.20"
optional = true
[dependencies.dyn-eq]
version = "0.1.3"
optional = true
[dependencies.elegance]
version = "0.4.0"
optional = true
[dependencies.hexf-parse]
version = "0.2.1"
[dependencies.macro_rules_attribute]
version = "0.2.2"
[dependencies.once_cell]
version = "1.21.3"
[dependencies.ordered-float]
version = "5.1.0"
[dependencies.regex-automata]
version = "0.4.13"
[dependencies.rustc-hash]
version = "2.1.1"
[dev-dependencies.pathdiff]
version = "0.2.3"
[dev-dependencies.pretty_assertions]
version = "1.4.1"
[dev-dependencies.rstest]
version = "0.26.1"