| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectmarf.nlp.Parsing.GenericLexicalAnalyzer
marf.nlp.Parsing.GrammarCompiler.GrammarAnalyzer
public class GrammarAnalyzer
GrammarAnalyzer class encapsulates functionality required for lexical analysis of a the grammar definition file.
$Id: GrammarAnalyzer.java,v 1.24 2008/01/03 03:21:57 mokhov Exp $
| Field Summary | |
|---|---|
| static java.lang.String | DEFAULT_ERROR_LOG_FILEDefault filename to log lexical errors. | 
| static java.lang.String | DEFAULT_GRAMMAR_FILEDefault filename for a grammar file. | 
| static java.lang.String | DEFAULT_SCAN_LOG_FILEDefault filename to log scan output. | 
| protected  GrammarTokenType | oTokenTypeGrammar token type. | 
| Fields inherited from class marf.nlp.Parsing.GenericLexicalAnalyzer | 
|---|
| bErrorsPresent, DEFAULT_ERROR_FILE, DEFAULT_OUTPUT_FILE, oFileReader, oLexicalErrors, oStreamTokenizer, oSymTab, oToken, oTokenList, strErrorLogFilename, strOutputFilename, strSourceFilename | 
| Constructor Summary | |
|---|---|
| GrammarAnalyzer()Constructs a grammar analyzer with the default filename. | |
| GrammarAnalyzer(java.lang.String pstrGrammarFileName)Constructs a grammar analyzer with the specified grammar filename. | |
| GrammarAnalyzer(SymbolTable poSymTab)Constructs a grammar analyzer using a predefined symbol table. | |
| Method Summary | |
|---|---|
| protected  void | addToTokenList()Adds the current token to the token list if it is not null and not of backtrack, EOF, or error type. | 
| protected  void | createEOFToken()Creates an EOF token as the current token. | 
| protected  void | createNextToken()Creates next grammar token from the stream of characters. | 
| protected  void | createOrdinaryToken()Creates an ordinary keyword, punctuation, operator, bracket, or lexical error tokens. | 
| protected  void | createWordToken()Creates a general word token for keywords, errors, semantic tokens, etc. | 
|  java.util.Vector | getLexicalGrammarErrors()Allows querying for the collection of lexical errors. | 
| static java.lang.String | getMARFSourceCodeRevision()Retrieves class' revision. | 
|  Token | getNextToken()Returns next grammar token. | 
|  boolean | init()Customizes this analyzer for grammar files after calling parent's init(). | 
|  boolean | serialize(int piOperation)Load/Save the contents of lists such as Token list and Error list. | 
| Methods inherited from class marf.nlp.Parsing.GenericLexicalAnalyzer | 
|---|
| createToken, getErrorLogFilename, getErrorsPresent, getLexicalErrors, getOutputFilename, getSourceFilename, getSymTab, getTokenList, scan, setErrorLogFilename, setOutputFilename, setSourceFilename | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static final java.lang.String DEFAULT_GRAMMAR_FILE
public static final java.lang.String DEFAULT_ERROR_LOG_FILE
public static final java.lang.String DEFAULT_SCAN_LOG_FILE
protected GrammarTokenType oTokenType
| Constructor Detail | 
|---|
public GrammarAnalyzer()
DEFAULT_GRAMMAR_FILEpublic GrammarAnalyzer(java.lang.String pstrGrammarFileName)
pstrGrammarFileName - the filename of the grammar file to read frompublic GrammarAnalyzer(SymbolTable poSymTab)
poSymTab - the symbol table referenceDEFAULT_GRAMMAR_FILE| Method Detail | 
|---|
public boolean init()
init(). Allows C++, C, and script (#)
 style comments; case-sensitive; ignores EOL; and treats
 some punctuation a special. Sets default lex out filenames
 for standard and error lexical output.
init in class GenericLexicalAnalyzertrue of initialization is successfulGenericLexicalAnalyzer.init()public boolean serialize(int piOperation)
serialize in class GenericLexicalAnalyzerpiOperation - 0 means load, 1 means save
true if the serialization was successfulGenericLexicalAnalyzer.serialize(int)protected void createEOFToken()
protected void createWordToken()
                        throws NotImplementedException
NotImplementedException - for dictionary wordsprotected void createOrdinaryToken()
protected void createNextToken()
                        throws LexicalError
LexicalError - if invalid characters encountered or there
 was an I/O problem
public Token getNextToken()
                   throws LexicalError
getNextToken in class GenericLexicalAnalyzerLexicalError - in case of invalid character stream (alphabet) entries foundGenericLexicalAnalyzer.getNextToken()protected void addToTokenList()
TokenType.BACKTRACK, 
TokenType.EOF, 
TokenType.ERRORpublic java.util.Vector getLexicalGrammarErrors()
public static java.lang.String getMARFSourceCodeRevision()
| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||