sipha 0.5.0

Core parsing infrastructure for Sipha parser library
Documentation
[[bench]]
harness = false
name = "parsing_bench"
path = "benches/parsing_bench.rs"

[dependencies.ahash]
version = "0.8"

[dependencies.bumpalo]
optional = true
version = "3.16"

[dependencies.compact_str]
version = "0.9"

[dependencies.hashbrown]
version = "0.14.5"

[dependencies.lasso]
version = "0.7"

[dependencies.memchr]
version = "2.7"

[dependencies.memmap2]
optional = true
version = "0.9"

[dependencies.miette]
optional = true
version = "7.2"

[dependencies.puffin]
optional = true
version = "0.19"

[dependencies.rayon]
optional = true
version = "1.10"

[dependencies.regex]
version = "1.11"

[dependencies.rkyv]
optional = true
version = "0.8"

[dependencies.serde]
features = ["derive", "rc"]
optional = true
version = "1.0"

[dependencies.serde_json]
optional = true
version = "1.0"

[dependencies.smallvec]
version = "1.13"

[dependencies.thiserror]
version = "2.0"

[dependencies.tracing]
version = "0.1"

[dependencies.unicode-ident]
optional = true
version = "1.0"

[dependencies.unicode-normalization]
optional = true
version = "0.1"

[dev-dependencies.criterion]
version = "0.7"

[dev-dependencies.insta]
version = "1.40"

[dev-dependencies.pretty_assertions]
version = "1.4"

[dev-dependencies.proptest]
version = "1.5"

[dev-dependencies.tracing-subscriber]
version = "0.3"

[[example]]
name = "basic_arithmetic"
path = "examples/basic_arithmetic.rs"

[[example]]
name = "glr_parsing"
path = "examples/glr_parsing.rs"

[[example]]
name = "incremental_parsing"
path = "examples/incremental_parsing.rs"

[[example]]
name = "json_grammar_docs"
path = "examples/json_grammar_docs.rs"

[[example]]
name = "simple_calculator"
path = "examples/simple_calculator.rs"

[features]
arena = ["bumpalo"]
backend-glr = ["backend-lr"]
backend-ll = []
backend-lr = []
default = ["diagnostics", "unicode", "query", "visitor", "traversal", "tree-utils", "backend-ll", "grammar-docs"]
diagnostics = ["miette"]
grammar-docs = []
parallel = ["rayon"]
profiling = ["puffin"]
query = []
serialize = ["serde", "serde_json", "rkyv"]
traversal = []
tree-index = []
tree-utils = []
unicode = ["unicode-ident", "unicode-normalization"]
visitor = []

[lib]
name = "sipha"
path = "src/lib.rs"

[lints.clippy]
pedantic = "deny"

[package]
authors = ["Chloe Magnier <contact@nyaleph.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["parsing", "development-tools"]
description = "Core parsing infrastructure for Sipha parser library"
documentation = "https://docs.rs/sipha"
edition = "2024"
homepage = "https://github.com/nyaleph/sipha"
keywords = ["parser", "parsing", "incremental", "syntax-tree", "lexer"]
license = "MIT"
name = "sipha"
readme = "README.md"
repository = "https://github.com/nyaleph/sipha"
version = "0.5.0"

[[test]]
name = "error_helpers"
path = "tests/error_helpers.rs"

[[test]]
name = "glr_parser_tests"
path = "tests/glr_parser_tests.rs"

[[test]]
name = "grammar_tests"
path = "tests/grammar_tests.rs"

[[test]]
name = "incremental_tests"
path = "tests/incremental_tests.rs"

[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"

[[test]]
name = "lexer_tests"
path = "tests/lexer_tests.rs"

[[test]]
name = "lr_parser_tests"
path = "tests/lr_parser_tests.rs"