Generic Interpreter 1.3
Protected API

gi
Class LR0_Grammar

java.lang.Object
  extended by gi.Lexicon
      extended by gi.Grammar
          extended by gi.LR0_Grammar
Direct Known Subclasses:
LR1_Grammar, SLR1_Grammar

public class LR0_Grammar
extends Grammar

This class implements an LR(0) parser around a Grammar. The parser adapts to changes in the underlying Grammar. Semantics in a phrase are evaluated during a bottom-up parse, from left to right after all subtrees rooted in the phrase have been constructed. Attributes throughout the phrase are available during evaluation. LR(0) parsing is not very practical, since it ignores lookahead information and is easily confused, but it forms a basis around which SLR(1) and LR(1) parsers are constructed.

Version:
1.3
Author:
© 1999-2009 Craig A. Rich <carich@csupomona.edu>

Nested Class Summary
 
Nested classes/interfaces inherited from class gi.Grammar
Grammar.ParseTree, Grammar.Semantics
 
Nested classes/interfaces inherited from class gi.Lexicon
Lexicon.Alphabet, Lexicon.Concatenation, Lexicon.Exception, Lexicon.Expression, Lexicon.Match, Lexicon.NonMatch, Lexicon.PosixClass, Lexicon.Range, Lexicon.Repetition, Lexicon.Singleton, Lexicon.UnicodeCategory, Lexicon.Union
 
Field Summary
 
Fields inherited from class gi.Grammar
CONFLICT, FIRST_FOLLOW, PARSE_TREE, SYNTAX
 
Fields inherited from class gi.Lexicon
$, debug, LEXICAL, TERMINALS, VERBOSE
 
Constructor Summary
protected LR0_Grammar()
          Constructs an LR(0) parser around a new empty Grammar.
protected LR0_Grammar(Grammar G)
          Constructs an LR(0) parser around an existing Grammar.
 
Method Summary
 String toString()
          Returns the string representation of this parser, specifically "LR(0)".
 
Methods inherited from class gi.Grammar
grab, interpret, put, put
 
Methods inherited from class gi.Lexicon
expression, interpret, interpret, interpret, interpret, interpret, interpret, put, word
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LR0_Grammar

protected LR0_Grammar()

Constructs an LR(0) parser around a new empty Grammar.


LR0_Grammar

protected LR0_Grammar(Grammar G)

Constructs an LR(0) parser around an existing Grammar.

Parameters:
G - the Grammar around which the parser is constructed.
Method Detail

toString

public String toString()

Returns the string representation of this parser, specifically "LR(0)".

Overrides:
toString in class Object
Returns:
the string representation of this parser, specifically "LR(0)".
Since:
1.1

 

© 1999-2009 Craig A. Rich <carich@csupomona.edu>