marf.nlp.Parsing.GrammarCompiler
Class Grammar

java.lang.Object
  |
  +--marf.nlp.Parsing.GrammarCompiler.Grammar
All Implemented Interfaces:
java.io.Serializable

public class Grammar
extends java.lang.Object
implements java.io.Serializable

Grammar. $Id: Grammar.java,v 1.13 2005/06/04 03:54:38 mokhov Exp $

Since:
0.3.0
Version:
$Revision: 1.13 $
Author:
Serguei Mokhov
See Also:
Serialized Form

Field Summary
 marf.nlp.Parsing.GrammarCompiler.Terminal EOFTerminal
          A static EOF reference.
 marf.nlp.Parsing.GrammarCompiler.Terminal EpsilonTerminal
          The epsilon token.
 java.lang.String FirstSetsFile
           
 java.lang.String FollowSetsFile
           
 java.lang.String RulesFile
           
 marf.nlp.Parsing.GrammarCompiler.NonTerminal StartNonTerminal
          A reference to the starting state.
 
Constructor Summary
Grammar()
          Default constructor.
 
Method Summary
 void addNonTeminal(marf.nlp.Parsing.GrammarCompiler.NonTerminal pNonTerminal)
           
 void addRule(marf.nlp.Parsing.GrammarCompiler.Rule pRule)
           
 void addTeminal(marf.nlp.Parsing.GrammarCompiler.Terminal pTerminal)
           
 void computeFirstSets()
          Computes first sets for all non-ternimals from the non-terminals list.
 void computeFollowSets()
          Computes follow sets for all non-ternimals from the non-terminals list.
 int contains(marf.nlp.Parsing.GrammarCompiler.GrammarElement poGrammarElement)
          As the contains(String), but for GrammarElements.
 int contains(java.lang.String pstrName)
          Checks whether a grammar element with a given name (lexeme) exists in the corresponding list or not.
 int containsNonTerminal(java.lang.String pstrName)
           
 int containsTerminal(java.lang.String pstrName)
           
 java.util.Vector getNonTerminalList()
           
static java.lang.String getRevision()
          Retrieves class' revision.
 marf.nlp.Parsing.GrammarCompiler.Rule getRule(int A, int B, int C)
           
 marf.nlp.Parsing.GrammarCompiler.Rule getRule(java.lang.String pstrTerminal, int piNonTerminalIndex)
           
 java.util.Vector getRules()
           
 java.util.Vector getTerminalList()
           
 boolean serialize(int piOperation)
          Serialization.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EOFTerminal

public marf.nlp.Parsing.GrammarCompiler.Terminal EOFTerminal
A static EOF reference.


EpsilonTerminal

public marf.nlp.Parsing.GrammarCompiler.Terminal EpsilonTerminal
The epsilon token.


StartNonTerminal

public marf.nlp.Parsing.GrammarCompiler.NonTerminal StartNonTerminal
A reference to the starting state.


FirstSetsFile

public java.lang.String FirstSetsFile

FollowSetsFile

public java.lang.String FollowSetsFile

RulesFile

public java.lang.String RulesFile
Constructor Detail

Grammar

public Grammar()
Default constructor.

Method Detail

computeFirstSets

public void computeFirstSets()
Computes first sets for all non-ternimals from the non-terminals list.


computeFollowSets

public void computeFollowSets()
Computes follow sets for all non-ternimals from the non-terminals list.


containsNonTerminal

public int containsNonTerminal(java.lang.String pstrName)

containsTerminal

public int containsTerminal(java.lang.String pstrName)

contains

public int contains(java.lang.String pstrName)
Checks whether a grammar element with a given name (lexeme) exists in the corresponding list or not. If it does, returns it's index; -1 otherwise.


contains

public int contains(marf.nlp.Parsing.GrammarCompiler.GrammarElement poGrammarElement)
As the contains(String), but for GrammarElements.

Parameters:
poGrammarElement - a grammar element to look up.

getRule

public final marf.nlp.Parsing.GrammarCompiler.Rule getRule(java.lang.String pstrTerminal,
                                                           int piNonTerminalIndex)

getRule

public final marf.nlp.Parsing.GrammarCompiler.Rule getRule(int A,
                                                           int B,
                                                           int C)

serialize

public boolean serialize(int piOperation)
Serialization.


addTeminal

public void addTeminal(marf.nlp.Parsing.GrammarCompiler.Terminal pTerminal)

addNonTeminal

public void addNonTeminal(marf.nlp.Parsing.GrammarCompiler.NonTerminal pNonTerminal)

addRule

public void addRule(marf.nlp.Parsing.GrammarCompiler.Rule pRule)

getTerminalList

public final java.util.Vector getTerminalList()

getNonTerminalList

public final java.util.Vector getNonTerminalList()

getRules

public final java.util.Vector getRules()

getRevision

public static java.lang.String getRevision()
Retrieves class' revision.

Returns:
revision string