PennelloDeRemer

Implementation of Pennello's and DeRemer's efficient LALR(1) look-ahead computation algorithm given an ("ordered") LR(0) machine. Covers some extensions to equip the generated LR parsers with automatic error correction according to

J. Röhrich: "Methods for the Automatic Construction of Error Correcting Parsers", Acta Informatica 13, 115--139 (1980).

@author SöKa

Constructors

this
this()
Undocumented in source.

Members

Functions

computeParser
OrderedLR1Tables computeParser(Grammar grammar, LR1ConflictResolver lr1ConflictResolver)
Undocumented in source. Be warned that the author may not have intended to support it.

Inherited Members

From LR1ParserGenerator

computeParser
OrderedLR1Tables computeParser(Grammar grammar, LR1ConflictResolver lr1ConflictResolver)

Computes ordered *LR(1) tables. Potential conflicts are resolved by the given <code>lr1ConflictResolver</code>. The resulting tables represent a deterministic parser. Problems are marked via <code>symbolNode.position().markError(...)</code> (where <code>symbolNode</code> is an appropriate symbol occurence of the <code>grammar</code>. If no parser could be computed, <code>null</code> is returned.

Meta