Crate cfg [−] [src]
Library for manipulations on context-free grammars. Most transformations are abstracted over grammar representations.
Reexports
pub use rule::GrammarRule; |
Modules
cycles |
Cycle detection and elimination. |
history |
Any data carried alongside a grammar rule can be its history. Rule histories may contain more than semantic actions. |
precedence |
Precedenced rules are built with the builder pattern. |
prediction |
Prediction for predictive parsers. |
remap |
Remaps symbols and removes unused symbols. |
rule |
This module defines grammar rules. Each rule in a context-free grammar consists of a single symbol on its left-hand side and an array of symbols on its right-hand side. In this library, each rule carries additional value called "history." |
sequence |
Sequences are similar to regex repetitions with numbering. |
symbol |
A type that can represent symbols in a context-free grammar. Symbols are distinguished by their IDs. |
usefulness |
Analysis of rule usefulness. |
Structs
BinarizedCfg |
Representation for grammars where right-hand sides of all rules have at most two symbols. |
Cfg |
Basic representation of context-free grammars. |
Symbol |
A common grammar symbol type. |
Traits
ContextFree |
Trait for context-free grammars. |
ContextFreeMut |
Allows access to a ContextFreeRef through mutable references. |
ContextFreeRef |
This trait is currently needed to make the associated |