Method Parser.LR.Rule()->create()
- Method
create
Parser.LR.Rule Parser.LR.Rule(
int
nt
,array
(string
|int
)r
,function
(:void
)|string
|void
a
)- Description
Create a BNF rule.
- Example
The rule
rule : nonterminal ":" symbols ";" { add_rule };
might be created as
rule(4, ({ 9, ":", 5, ";" }), "add_rule");
where 4 corresponds to the nonterminal "rule", 9 to "nonterminal" and 5 to "symbols", and the function "add_rule" is too be called when this rule is reduced.
- Parameter
nt
Non-terminal to reduce to.
- Parameter
r
Symbol sequence that reduces to nt.
- Parameter
a
Action to do when reducing according to this rule. function - Call this function. string - Call this function by name in the object given to the parser. The function is called with arguments corresponding to the values of the elements of the rule. The return value of the function will become the value of this non-terminal. The default rule is to return the first argument.