Enum ungrammar::Rule [−][src]
pub enum Rule { Labeled { label: String, rule: Box<Rule>, }, Node(Node), Token(Token), Seq(Vec<Rule>), Alt(Vec<Rule>), Opt(Box<Rule>), Rep(Box<Rule>), }
Expand description
A production rule.
Variants
A labeled rule, like a:B
("a"
is the label, B
is the rule).
A node, like A
.
Tuple Fields of Node
0: Node
A token, like 'struct'
.
Tuple Fields of Token
0: Token
A sequence of rules, like 'while' '(' Expr ')' Stmt
.
An alternative between many rules, like '+' | '-' | '*' | '/'
.
An optional rule, like A?
.
A repeated rule, like A*
.