DynamicParseTreeCreator.mergeParseTrees

Creates a special tree node, which contains different ambiguous trees as childs. This is used by GLR parsers. It will only be called by the parser if canMerge!nonterminalID is true.

class DynamicParseTreeCreator(alias GrammarModule, Location_, alias LocationRangeImpl = LocationRangeStartLength)
NonterminalType!(nonterminalID)
mergeParseTrees
(
SymbolID nonterminalID
)

Parameters

nonterminalID

ID of the nonterminal starting at GrammarModule.startNonterminalID.

firstParamStart Location

Location at the start of this subtree.

lastParamEnd Location

Location at the end of this subtree.

trees ParseStackElem!(Location, NonterminalType!nonterminalID)[]

Childs for this subtree.

Meta