fri.patterns.interpreter.parsergenerator.parsertables
Class LRParserTables

java.lang.Object
  |
  +--fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
        |
        +--fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
              |
              +--fri.patterns.interpreter.parsergenerator.parsertables.LRParserTables
All Implemented Interfaces:
ParserTables, java.io.Serializable
Direct Known Subclasses:
LALRParserTables

public class LRParserTables
extends SLRParserTables

Parser table generator for LR interpretation.

The init() method is overridden, as LR parsing does not need FOLLOW-sets, and it needs nullability before building syntax nodes.

Author:
(c) 2000, Fritz Ritzberger
See Also:
SLRParserTables, Serialized Form

Field Summary
 
Fields inherited from class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
firstSets, followSets, syntaxNodes
 
Fields inherited from class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
CELLWIDTH, gotoTable, nonterminals, parseTable, symbols, syntax, terminals, terminalsWithoutEpsilon
 
Fields inherited from interface fri.patterns.interpreter.parsergenerator.ParserTables
ACCEPT, ERROR, SHIFT
 
Constructor Summary
LRParserTables(Syntax syntax)
          Calls super.
 
Method Summary
protected  fri.patterns.interpreter.parsergenerator.parsertables.LRSyntaxNode createStartNode(fri.patterns.interpreter.parsergenerator.parsertables.Nullable nullable, fri.patterns.interpreter.parsergenerator.parsertables.FirstSets firstSets)
          Factory method: constructing a root node for LR syntax nodes.
protected  void init()
          Modifiying the SLR-generation as FIRST-sets and Nullable are needed before building syntax nodes, FOLLOW-sets are not needed at all.
static void main(java.lang.String[] args)
          Test main dumping parser tables.
 
Methods inherited from class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
dump, dumpFirstSet, dumpFollowSet, dumpSet, dumpSyntaxNode, dumpSyntaxNodes, freeSyntaxNodes, generateGoto, generateParseAction, getAllSymbols, insertTableLine, report
 
Methods inherited from class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
construct, dumpGoto, dumpParseAction, dumpRule, dumpSyntax, dumpTable, dumpTables, getExpected, getGotoState, getParseAction, getSyntax, getTerminals, toSourceFile
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LRParserTables

public LRParserTables(Syntax syntax)
               throws ParserBuildException
Calls super.

Method Detail

createStartNode

protected fri.patterns.interpreter.parsergenerator.parsertables.LRSyntaxNode createStartNode(fri.patterns.interpreter.parsergenerator.parsertables.Nullable nullable,
                                                                                             fri.patterns.interpreter.parsergenerator.parsertables.FirstSets firstSets)
Factory method: constructing a root node for LR syntax nodes.


init

protected void init()
             throws ParserBuildException
Modifiying the SLR-generation as FIRST-sets and Nullable are needed before building syntax nodes, FOLLOW-sets are not needed at all.

Overrides:
init in class SLRParserTables
ParserBuildException

main

public static void main(java.lang.String[] args)
Test main dumping parser tables.