A Grammar holds a set of rules (which are stored
in a symbol table). Most of the time a grammar
needs a code generator and an LLkAnalyzer too.
analyzerDebug
protected boolean analyzerDebug
antlrTool
protected Tool antlrTool
buildAST
protected boolean buildAST
classMemberAction
protected Token classMemberAction
className
protected String className
comment
protected String comment
debuggingOutput
protected boolean debuggingOutput
defaultErrorHandler
protected boolean defaultErrorHandler
exportVocab
protected String exportVocab
The name of the export vocabulary...used to generate the output
token types interchange file.
fileName
protected String fileName
hasSyntacticPredicate
protected boolean hasSyntacticPredicate
hasUserErrorHandling
protected boolean hasUserErrorHandling
importVocab
protected String importVocab
The name of the import vocabulary. "Initial conditions"
interactive
protected boolean interactive
options
protected Hashtable options
preambleAction
protected Token preambleAction
superClass
protected String superClass
symbols
protected Hashtable symbols
tokenManager
protected TokenManager tokenManager
The token manager associated with the grammar, if any.
// The token manager is responsible for maintaining the set of valid tokens, and
// is conceptually shared between the lexer and parser. This may be either a
// LexerGrammar or a ImportVocabTokenManager.
traceRules
protected boolean traceRules
define
public void define(RuleSymbol rs)
Define a rule
generate
public void generate()
throws IOException
Top-level call to generate the code for this grammar
getClassName
protected String getClassName()
getDefaultErrorHandler
public boolean getDefaultErrorHandler()
getFilename
public String getFilename()
getIntegerOption
public int getIntegerOption(String key)
throws NumberFormatException
Get an integer option. Given the name of the option find its
associated integer value. If the associated value is not an integer or
is not in the table, then throw an exception of type NumberFormatException.
key
- The name of the option
- The value associated with the key.
getOption
public Token getOption(String key)
Get an option. Given the name of the option find its associated value.
key
- The name of the option
- The value associated with the key, or null if the key has not been set.
getSuperClass
protected String getSuperClass()
getSymbols
public Enumeration getSymbols()
hasOption
public boolean hasOption(String key)
Check the existence of an option in the table
key
- The name of the option
- true if the option is in the table
isDefined
public boolean isDefined(String s)
Is a rule symbol defined? (not used for tokens)
processArguments
public void processArguments(String[] args)
Process command line arguments. Implemented in subclasses
setFilename
public void setFilename(String s)
setOption
public boolean setOption(String key,
Token value)
Set a generic option.
This associates a generic option key with a Token value.
No validation is performed by this method, although users of the value
(code generation and/or analysis) may require certain formats.
The value is stored as a token so that the location of an error
can be reported.
key
- The name of the option.value
- The value to associate with the key.
- true if the option was a valid generic grammar option, false o/w
setTokenManager
public void setTokenManager(TokenManager tokenManager_)
toString
public String toString()
Print out the grammar without actions