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).
Node(Node)
A node, like A
.
Tuple Fields of Node
0: Node
Token(Token)
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*
.