new Alt(seqs)
Creates a list of one or more alternatives; should only be used by subclass.
Parameters:
| Name | Type | Description |
|---|---|---|
seqs |
Array.<module:EBNF~Seq> | the alternatives. |
- Mixes In:
- Source:
Properties:
| Name | Type | Argument | Description |
|---|---|---|---|
seqs |
Array.<module:EBNF~Seq> | the alternatives. |
|
expect |
module:EBNF~Set | set of terminals which a node
expects to see as |
|
follow |
module:EBNF~Set |
<nullable> |
see |
Methods
-
check(error, name)
-
Check for ambiguity: descendants'
expectmust be disjoint.Parameters:
Name Type Description errorfunction should be bound to
grammar.error().namestring current rule.
Returns:
error message, if any.
- Type
- undefined | string
-
deep()
-
Override getter: computes the set as sum over all descendants.
Returns:
the set, maps terminal names to true.
- Type
- module:EBNF~Set
-
follow( [increment])
-
Override setter: sets me and all descendants.
Parameters:
Name Type Argument Description incrementmodule:EBNF~Set <optional>
<nullable>
controls getter/setter behavior, setter adds.
Returns:
the set, maps terminal names to true.
- Type
- module:EBNF~Set
-
parse(parser)
-
Recognizes one of several alternatives.
Parameters:
Name Type Description parsermodule:EBNF~Parser context.
Throws:
-
if recognition fails.
- Type
- string
Returns:
the list produced by the selected descendant
Seq, seeparser.parse().- Type
- Array
-
-
shallow( [increment])
-
Override getter: computes the set as sum over all descendants.
Parameters:
Name Type Argument Description incrementmodule:EBNF~Set <optional>
<nullable>
controls getter/setter behavior, setter adds.
Returns:
the (incremented) set, maps terminal names to true.
- Type
- module:EBNF~Set
-
toString()
-
Displays all alternatives.
Returns:
- Type
- string