Class: Actions

EBNF~ Actions

The EBNF grammar parser's actions, used internally in new Grammar().


<private> new Actions(g)

Creates the singleton with the action methods.

Parameters:
Name Type Description
g module:EBNF~Grammar

to hold the rule representations.

Properties:
Name Type Description
g module:EBNF~Grammar

the grammar to add precedences and rules to.

Source:

Methods


alt()

alt: seq [{ '|' seq }];

Source:
Returns:

represents a list of one or more alternatives.

Type
module:EBNF~Alt

grammar()

grammar: [{ level }] { rule };

Source:
Returns:

represents the grammar, not yet checked.

Type
module:EBNF~Grammar

level()

level: '%left' { term } ';' | '%right' { term } ';' | '%nonassoc' { term } ';';

Source:
Returns:

represents a precedence level.

Type
module:Base~Precedence

lit()

lit: Lit;

Source:
Returns:

represents a used literal.

Type
module:EBNF~Lit

opt()

opt: '[' alt ']';

Source:
Returns:

represents an optional list of one or more alternatives.

Type
module:EBNF~Opt

ref()

ref: Token;

Source:
Returns:

represents a used token or a non-terminal.

Type
module:EBNF~Token | module:EBNF~NT

rule()

rule: Token ':' alt ';';

Source:
Returns:

represents a rule.

Type
module:EBNF~Rule

seq()

seq: { lit | ref | opt | some } [ '%prec' term ];

Source:
Returns:

represents a list of one or more items.

Type
module:EBNF~Seq

some()

some: '{' alt '}';

Source:
Returns:

represents a list of one or more alternatives.

Type
module:EBNF~Some

term()

term: lit | ref;

Source:
Returns:

represents a symbol.

Type
module:EBNF~Lit | module:EBNF~Token | module:EBNF~NT