org.javacc.parser
Class JavaCCGlobals

java.lang.Object
  extended by org.javacc.parser.JavaCCGlobals
Direct Known Subclasses:
JavaCCParserInternals, JavaFiles, JJDoc, LexGen, LookaheadCalc, OtherFilesGen, ParseEngine, ParseGen, Semanticize

public class JavaCCGlobals
extends java.lang.Object

This package contains data created as a result of parsing and semanticizing a JavaCC input file. This data is what is used by the back-ends of JavaCC as well as any other back-end of JavaCC related tools such as JJTree.


Field Summary
static java.util.Vector bnfproductions
          A list of all grammar productions - normal and JAVACODE - in the order they appear in the input file.
protected static int ccol
           
protected static int cline
           
static java.util.Vector cu_from_insertion_point_2
          This is the list of all tokens that appear after the tokens in "cu_to_insertion_point_2" and until "PARSER_END(name)".
static java.lang.String cu_name
          The name of the parser class (what appears in PARSER_BEGIN and PARSER_END).
static java.util.Vector cu_to_insertion_point_1
          This is a list of tokens that appear after "PARSER_BEGIN(name)" all the way until (but not including) the opening brace "{" of the class "name".
static java.util.Vector cu_to_insertion_point_2
          This is the list of all tokens that appear after the tokens in "cu_to_insertion_point_1" and until (but not including) the closing brace "}" of the class "name".
static java.lang.String fileName
          The name of the grammar file being processed.
protected static int jj2index
           
static boolean jjcovGenerated
          Set to true if this file has been processed by JJCov.
static boolean jjtreeGenerated
          Set to true if this file has been processed by JJTree.
static java.util.Hashtable lexstate_I2S
          A mapping of the internal integer representations of lexical states to their strings.
static java.util.Hashtable lexstate_S2I
          A mapping of lexical state strings to their integer internal representation.
protected static int maskindex
          maskindex, jj2index, maskVals are variables that are shared between ParseEngine and ParseGen.
protected static java.util.Vector maskVals
           
static java.util.Hashtable named_tokens_table
          This is a symbol table that contains all named tokens (those that are defined with a label).
static java.util.Hashtable names_of_tokens
          A mapping of ordinal values (represented as objects of type "Integer") to the corresponding labels (of type "String").
static java.util.Vector ordered_named_tokens
          Contains the same entries as "named_tokens_table", but this is an ordered list which is ordered by the order of appearance in the input file.
static java.lang.String origFileName
          The name of the original file (before processing by JJTree and JJCov).
static java.io.File outputDir
          The File object for the output directory where all the generated files will be placed.
static java.util.Hashtable production_table
          A symbol table of all grammar productions - normal and JAVACODE.
static java.util.Vector rexprlist
          The list of all TokenProductions from the input file.
static java.util.Hashtable rexps_of_tokens
          A mapping of ordinal values (represented as objects of type "Integer") to the corresponding RegularExpression's.
static java.util.Hashtable simple_tokens_table
          This is a three-level symbol table that contains all simple tokens (those that are defined using a single string (with or without a label).
static java.util.Vector token_mgr_decls
          The declarations to be inserted into the TokenManager class.
static int tokenCount
          The total number of distinct tokens.
protected static java.lang.String toolName
          String that identifies the JavaCC generated files.
static java.util.Vector toolNames
          The list of tools that have participated in generating the input grammar file.
 
Constructor Summary
JavaCCGlobals()
           
 
Method Summary
static java.lang.String add_escapes(java.lang.String str)
           
static java.lang.String addUnicodeEscapes(java.lang.String str)
           
static void bannerLine(java.lang.String fullName, java.lang.String ver)
          This prints the banner line when the various tools are invoked.
static java.lang.String getIdString(java.lang.String toolName, java.lang.String fileName)
          Returns the identifying string for the file name, given a toolname used to generate it.
static java.lang.String getIdString(java.util.Vector toolNames, java.lang.String fileName)
          Returns the identifying string for the file name, given a set of tool names that are used to generate it.
static java.util.Vector getToolNames(java.lang.String fileName)
          Returns a Vector of names of the tools that have been used to generate the given file.
static boolean isGeneratedBy(java.lang.String toolName, java.lang.String fileName)
          Returns true if tool name passed is one of the tool names returned by getToolNames(fileName).
protected static java.lang.String printLeadingComments(Token t)
           
protected static void printLeadingComments(Token t, java.io.PrintWriter ostr)
           
protected static java.lang.String printToken(Token t)
           
protected static void printToken(Token t, java.io.PrintWriter ostr)
           
protected static java.lang.String printTokenOnly(Token t)
           
protected static void printTokenOnly(Token t, java.io.PrintWriter ostr)
           
protected static void printTokenSetup(Token t)
           
protected static java.lang.String printTrailingComments(Token t)
           
protected static void printTrailingComments(Token t, java.io.PrintWriter ostr)
           
static void reInit()
           
static void setOutputDir()
           
static java.lang.String staticOpt()
           
static void storeOutputDirSpec(java.lang.Object loc, java.lang.String val)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

toolName

protected static final java.lang.String toolName
String that identifies the JavaCC generated files.

See Also:
Constant Field Values

fileName

public static java.lang.String fileName
The name of the grammar file being processed.


origFileName

public static java.lang.String origFileName
The name of the original file (before processing by JJTree and JJCov). Currently this is the same as fileName.


outputDir

public static java.io.File outputDir
The File object for the output directory where all the generated files will be placed. It defaults to the current directory, but may be set by the user using the OUTPUT_DIRECTORY option.


jjtreeGenerated

public static boolean jjtreeGenerated
Set to true if this file has been processed by JJTree.


jjcovGenerated

public static boolean jjcovGenerated
Set to true if this file has been processed by JJCov.


toolNames

public static java.util.Vector toolNames
The list of tools that have participated in generating the input grammar file.


cu_name

public static java.lang.String cu_name
The name of the parser class (what appears in PARSER_BEGIN and PARSER_END).


cu_to_insertion_point_1

public static java.util.Vector cu_to_insertion_point_1
This is a list of tokens that appear after "PARSER_BEGIN(name)" all the way until (but not including) the opening brace "{" of the class "name".


cu_to_insertion_point_2

public static java.util.Vector cu_to_insertion_point_2
This is the list of all tokens that appear after the tokens in "cu_to_insertion_point_1" and until (but not including) the closing brace "}" of the class "name".


cu_from_insertion_point_2

public static java.util.Vector cu_from_insertion_point_2
This is the list of all tokens that appear after the tokens in "cu_to_insertion_point_2" and until "PARSER_END(name)".


bnfproductions

public static java.util.Vector bnfproductions
A list of all grammar productions - normal and JAVACODE - in the order they appear in the input file. Each entry here will be a subclass of "NormalProduction".


production_table

public static java.util.Hashtable production_table
A symbol table of all grammar productions - normal and JAVACODE. The symbol table is indexed by the name of the left hand side non-terminal. Its contents are of type "NormalProduction".


lexstate_S2I

public static java.util.Hashtable lexstate_S2I
A mapping of lexical state strings to their integer internal representation. Integers are stored as java.lang.Integer's.


lexstate_I2S

public static java.util.Hashtable lexstate_I2S
A mapping of the internal integer representations of lexical states to their strings. Integers are stored as java.lang.Integer's.


token_mgr_decls

public static java.util.Vector token_mgr_decls
The declarations to be inserted into the TokenManager class.


rexprlist

public static java.util.Vector rexprlist
The list of all TokenProductions from the input file. This list includes implicit TokenProductions that are created for uses of regular expressions within BNF productions.


tokenCount

public static int tokenCount
The total number of distinct tokens. This is therefore one more than the largest assigned token ordinal.


named_tokens_table

public static java.util.Hashtable named_tokens_table
This is a symbol table that contains all named tokens (those that are defined with a label). The index to the table is the image of the label and the contents of the table are of type "RegularExpression".


ordered_named_tokens

public static java.util.Vector ordered_named_tokens
Contains the same entries as "named_tokens_table", but this is an ordered list which is ordered by the order of appearance in the input file.


names_of_tokens

public static java.util.Hashtable names_of_tokens
A mapping of ordinal values (represented as objects of type "Integer") to the corresponding labels (of type "String"). An entry exists for an ordinal value only if there is a labeled token corresponding to this entry. If there are multiple labels representing the same ordinal value, then only one label is stored.


rexps_of_tokens

public static java.util.Hashtable rexps_of_tokens
A mapping of ordinal values (represented as objects of type "Integer") to the corresponding RegularExpression's.


simple_tokens_table

public static java.util.Hashtable simple_tokens_table
This is a three-level symbol table that contains all simple tokens (those that are defined using a single string (with or without a label). The index to the first level table is a lexical state which maps to a second level hashtable. The index to the second level hashtable is the string of the simple token converted to upper case, and this maps to a third level hashtable. This third level hashtable contains the actual string of the simple token and maps it to its RegularExpression.


maskindex

protected static int maskindex
maskindex, jj2index, maskVals are variables that are shared between ParseEngine and ParseGen.


jj2index

protected static int jj2index

maskVals

protected static java.util.Vector maskVals

cline

protected static int cline

ccol

protected static int ccol
Constructor Detail

JavaCCGlobals

public JavaCCGlobals()
Method Detail

bannerLine

public static void bannerLine(java.lang.String fullName,
                              java.lang.String ver)
This prints the banner line when the various tools are invoked. This takes as argument the tool's full name and its version.


getIdString

public static java.lang.String getIdString(java.lang.String toolName,
                                           java.lang.String fileName)
Returns the identifying string for the file name, given a toolname used to generate it.


getIdString

public static java.lang.String getIdString(java.util.Vector toolNames,
                                           java.lang.String fileName)
Returns the identifying string for the file name, given a set of tool names that are used to generate it.


isGeneratedBy

public static boolean isGeneratedBy(java.lang.String toolName,
                                    java.lang.String fileName)
Returns true if tool name passed is one of the tool names returned by getToolNames(fileName).


getToolNames

public static java.util.Vector getToolNames(java.lang.String fileName)
Returns a Vector of names of the tools that have been used to generate the given file.


storeOutputDirSpec

public static void storeOutputDirSpec(java.lang.Object loc,
                                      java.lang.String val)

setOutputDir

public static void setOutputDir()

staticOpt

public static java.lang.String staticOpt()

add_escapes

public static java.lang.String add_escapes(java.lang.String str)

addUnicodeEscapes

public static java.lang.String addUnicodeEscapes(java.lang.String str)

printTokenSetup

protected static void printTokenSetup(Token t)

printTokenOnly

protected static void printTokenOnly(Token t,
                                     java.io.PrintWriter ostr)

printToken

protected static void printToken(Token t,
                                 java.io.PrintWriter ostr)

printLeadingComments

protected static void printLeadingComments(Token t,
                                           java.io.PrintWriter ostr)

printTrailingComments

protected static void printTrailingComments(Token t,
                                            java.io.PrintWriter ostr)

printTokenOnly

protected static java.lang.String printTokenOnly(Token t)

printToken

protected static java.lang.String printToken(Token t)

printLeadingComments

protected static java.lang.String printLeadingComments(Token t)

printTrailingComments

protected static java.lang.String printTrailingComments(Token t)

reInit

public static void reInit()