Class: Actions

BNF~ Actions

The BNF grammar parser's actions, used internally in new Grammar(). The methods intentionally defeat the argument count checks.


<private> new Actions(g)

Creates the singleton with the action methods.

Parameters:
Name Type Description
g module:BNF~Grammar

to hold the rule representations.

Properties:
Name Type Description
g module:BNF~Grammar

the grammar to add precedences and rules to.

Source:

Methods


grammar()

grammar: precedences rules;

Source:
Returns:

g - represents and checks the grammar.

Type
module:BNF~Grammar

lit()

lit: Lit;

Source:
Returns:

represents a used literal.

Type
module:BNF~Lit

name()

name: Name;

Source:
Returns:

represents a used token or a non-terminal.

Type
module:BNF~Token | module:BNF~NT

precedences()

precedences: ;
precedences: precedences '%left' terminals ';';
precedences: precedences '%right' terminals ';';
precedences: precedences '%nonassoc' terminals ';';

Source:

rule()

rule: Name ':' symbols ';';
rule: Name ':' symbols '%prec' terminal ';';

Source:
Returns:

represents a rule.

Type
module:BNF~Rule

symbols()

symbols: ;
symbols: symbols name;
symbols: symbols lit;

Source:
Returns:

represents a list of symbols.

Type
Array.<module:Base~Symbol>

terminal()

terminal: lit;
terminal: name;

Source:
Returns:

represents a terminal.

Type
module:BNF~Lit | module:BNF~Token

terminals()

terminals: terminal;
terminals: terminals terminal;

Source:
Returns:

represents a list of terminals.

Type
module:BNF~Lit | module:BNF~Token