Rule
Represents a nonterminal symbol in a Grammar with one or more potential productions.
A Rule defines how a nonterminal can be expanded during parsing. Each Rule contains one or more productions, each representing an alternative way to match the rule against the input token stream. When parsing, the rule attempts each production in order until one succeeds.
Rules support left recursion through a special two-phase matching process: non-left-recursive productions are tried first to establish a base match, then left-recursive productions are applied iteratively to extend the match as far as possible.
Where more than one production could potentially match at the current position, the first successful production in declaration order is used.
Parameters
The type of Node produced by this Rule's productions
Types
Represents one alternative pattern that a Rule is allowed to match against input.