Feature Flags
Sipha uses feature flags to enable optional functionality.
Backend Features
backend-ll
Enable LL(k) parser backend (default).
[dependencies]
sipha = { version = "0.5.0", features = ["backend-ll"] }
backend-lr
Enable LR parser backend.
[dependencies]
sipha = { version = "0.5.0", features = ["backend-lr"] }
backend-glr
Enable GLR parser backend (requires backend-lr).
[dependencies]
sipha = { version = "0.5.0", features = ["backend-lr", "backend-glr"] }
Optional Features
diagnostics
Enable rich error diagnostics with miette.
[dependencies]
sipha = { version = "0.5.0", features = ["diagnostics"] }
unicode
Enable full Unicode support for identifiers.
[dependencies]
sipha = { version = "0.5.0", features = ["unicode"] }
visitor
Enable syntax tree visitor patterns.
[dependencies]
sipha = { version = "0.5.0", features = ["visitor"] }
query
Enable XPath-like query API for syntax trees.
[dependencies]
sipha = { version = "0.5.0", features = ["query"] }
tree-utils
Enable tree diffing and validation utilities.
[dependencies]
sipha = { version = "0.5.0", features = ["tree-utils"] }
Feature Combinations
Minimal
[dependencies]
sipha = "0.5.0" # Only backend-ll
Full
[dependencies]
sipha = {
version = "0.5.0",
features = [
"backend-ll",
"backend-lr",
"backend-glr",
"diagnostics",
"unicode",
"visitor",
"query",
"tree-utils",
]
}
Language Server
[dependencies]
sipha = {
version = "0.5.0",
features = [
"backend-ll",
"diagnostics",
"visitor",
"query",
]
}
Default Features
By default, only backend-ll is enabled.
Next Steps
- See API Overview for API reference
- Check FAQ for common questions