Expand description
Grammar Intermediate Representation for Adze This module provides GLR-aware data structures for representing grammars
Re-exports§
pub use error::IrError;pub use error::Result as IrResult;pub use optimizer::GrammarOptimizer;pub use optimizer::OptimizationStats;pub use optimizer::optimize_grammar;pub use validation::GrammarValidator;pub use validation::ValidationError;pub use validation::ValidationResult;pub use validation::ValidationWarning;pub use symbol_registry::SymbolInfo;pub use symbol_registry::SymbolRegistry;
Modules§
- builder
- Builder API for programmatically constructing grammars Builder API for programmatically constructing grammars
- debug_
macros - Debug macros for development Debug macros for inspecting grammar IR at build time.
- error
- Error types and Result alias for IR operations. Error types for grammar IR operations.
- optimizer
- Grammar optimization utilities Grammar optimization passes that simplify and normalize rules.
- symbol_
registry - Symbol registry for managing grammar symbols Deterministic symbol ID assignment via an ordered registry.
- validation
- Grammar validation utilities Grammar validation checking for undefined, unreachable, and non-productive symbols.
Macros§
- emit_ir
- Emit IR for debugging purposes
Structs§
- Alias
Sequence - Alias sequence for node renaming
- Conflict
Declaration - Conflict declaration for GLR handling
- External
Token - External token declaration
- FieldId
- Field identifier
- Grammar
- Core grammar representation supporting all Tree-sitter features including GLR
- Precedence
- Precedence declaration
- Production
Id - Production identifier
- Rule
- Grammar rule supporting GLR multiple actions per state
- RuleId
- Rule identifier
- StateId
- State identifier
- Symbol
Id - Symbol identifier
- Symbol
Metadata - Metadata for a symbol in the language
- Token
- Token with fragile flag for lexical vs parse conflicts
Enums§
- Associativity
- Associativity for conflict resolution
- Conflict
Resolution - How to resolve conflicts
- Grammar
Error - Grammar processing errors
- Precedence
Kind - Precedence supporting both static and dynamic precedence (PREC_DYNAMIC)
- Symbol
- Grammar symbol types
- Token
Pattern - Token pattern representation