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
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 |
LRParserTables
public LRParserTables(Syntax syntax)
throws ParserBuildException
- Calls super.
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.