Package org.javacc.parser
Class JavaCCGlobals
- java.lang.Object
-
- org.javacc.parser.JavaCCGlobals
-
public class JavaCCGlobals extends java.lang.ObjectThis 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
Fields Modifier and Type Field Description ActionactForEofjava.util.List<NormalProduction>bnfproductionsA list of all grammar productions - normal and JAVACODE - in the order they appear in the input file.intccolintclinejava.util.List<Token>cu_from_insertion_point_2This is the list of all tokens that appear after the tokens in "cu_to_insertion_point_2" and until "PARSER_END(name)".java.lang.Stringcu_nameThe name of the parser class (what appears in PARSER_BEGIN and PARSER_END).java.util.List<Token>cu_to_insertion_point_1This 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".java.util.List<Token>cu_to_insertion_point_2This 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".intjj2indexbooleanjjtreeGeneratedSet to true if this file has been processed by JJTree.java.util.Hashtable<java.lang.Integer,java.lang.String>lexstate_I2SA mapping of the internal integer representations of lexical states to their strings.(package private) java.util.Hashtable<java.lang.String,java.lang.Integer>lexstate_S2IA mapping of lexical state strings to their integer internal representation.booleanlookaheadNeededintmaskindexmaskindex, jj2index, maskVals are variables that are shared between ParseEngine and ParseGen.java.util.List<int[]>maskVals(package private) java.util.Map<java.lang.String,RegularExpression>named_tokens_tableThis is a symbol table that contains all named tokens (those that are defined with a label).java.util.Map<java.lang.Integer,java.lang.String>names_of_tokensA mapping of ordinal values (represented as objects of type "Integer") to the corresponding labels (of type "String").java.lang.StringnextStateForEofjava.util.List<RegularExpression>ordered_named_tokensContains 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.TokenotherLanguageDeclTokenBegTokenotherLanguageDeclTokenEndjava.util.Map<java.lang.String,NormalProduction>production_tableA symbol table of all grammar productions - normal and JAVACODE.java.util.List<TokenProduction>rexprlistThe list of all TokenProductions from the input file.java.util.Map<java.lang.Integer,RegularExpression>rexps_of_tokensA mapping of ordinal values (represented as objects of type "Integer") to the corresponding RegularExpression's.(package private) java.util.Hashtable<java.lang.String,java.util.Hashtable<java.lang.String,java.util.Hashtable<java.lang.String,RegularExpression>>>simple_tokens_tableThis is a three-level symbol table that contains all simple tokens (those that are defined using a single string (with or without a label).java.util.List<Token>token_mgr_declsThe declarations to be inserted into the TokenManager class.inttokenCountThe total number of distinct tokens.static java.lang.StringtoolNameString that identifies the JavaCC generated files.java.util.List<java.lang.String>toolNamesThe list of tools that have participated in generating the input grammar file.
-
Constructor Summary
Constructors Constructor Description JavaCCGlobals()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Stringadd_escapes(java.lang.String str)static java.lang.StringaddUnicodeEscapes(java.lang.String str)static voidbannerLine(java.lang.String fullName, java.lang.String ver)This prints the banner line when the various tools are invoked.static java.lang.StringgetIdString(java.lang.String toolName, java.lang.String fileName)Returns the identifying string for the file name, given a toolname used to generate it.private static java.lang.StringgetIdString(java.util.List<java.lang.String> 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.List<java.lang.String>getToolNames(java.lang.String fileName)Returns a List of names of the tools that have been used to generate the given file.static booleanisGeneratedBy(java.lang.String toolName, java.lang.String fileName)Returns true if tool name passed is one of the tool names returned by getToolNames(fileName).private static java.util.List<java.lang.String>makeToolNameList(java.lang.String str)
-
-
-
Field Detail
-
toolName
public static final java.lang.String toolName
String that identifies the JavaCC generated files.- See Also:
- Constant Field Values
-
jjtreeGenerated
public boolean jjtreeGenerated
Set to true if this file has been processed by JJTree.
-
toolNames
public final java.util.List<java.lang.String> toolNames
The list of tools that have participated in generating the input grammar file.
-
cu_name
public 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 final java.util.List<Token> 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 final java.util.List<Token> 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 final java.util.List<Token> 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 final java.util.List<NormalProduction> 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 final java.util.Map<java.lang.String,NormalProduction> 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
final java.util.Hashtable<java.lang.String,java.lang.Integer> lexstate_S2I
A mapping of lexical state strings to their integer internal representation. Integers are stored as java.lang.Integer's.
-
lexstate_I2S
public final java.util.Hashtable<java.lang.Integer,java.lang.String> 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 java.util.List<Token> token_mgr_decls
The declarations to be inserted into the TokenManager class.
-
rexprlist
public final java.util.List<TokenProduction> 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 int tokenCount
The total number of distinct tokens. This is therefore one more than the largest assigned token ordinal.
-
named_tokens_table
final java.util.Map<java.lang.String,RegularExpression> 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 final java.util.List<RegularExpression> 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 final java.util.Map<java.lang.Integer,java.lang.String> 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 final java.util.Map<java.lang.Integer,RegularExpression> rexps_of_tokens
A mapping of ordinal values (represented as objects of type "Integer") to the corresponding RegularExpression's.
-
simple_tokens_table
final java.util.Hashtable<java.lang.String,java.util.Hashtable<java.lang.String,java.util.Hashtable<java.lang.String,RegularExpression>>> 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
public int maskindex
maskindex, jj2index, maskVals are variables that are shared between ParseEngine and ParseGen.
-
jj2index
public int jj2index
-
lookaheadNeeded
public boolean lookaheadNeeded
-
maskVals
public final java.util.List<int[]> maskVals
-
actForEof
public Action actForEof
-
nextStateForEof
public java.lang.String nextStateForEof
-
otherLanguageDeclTokenBeg
public Token otherLanguageDeclTokenBeg
-
otherLanguageDeclTokenEnd
public Token otherLanguageDeclTokenEnd
-
cline
public int cline
-
ccol
public int ccol
-
-
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.- Parameters:
toolName-fileName-
-
getIdString
private static java.lang.String getIdString(java.util.List<java.lang.String> 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).
-
makeToolNameList
private static java.util.List<java.lang.String> makeToolNameList(java.lang.String str)
-
getToolNames
public static java.util.List<java.lang.String> getToolNames(java.lang.String fileName)
Returns a List of names of the tools that have been used to generate the given file.
-
add_escapes
public static java.lang.String add_escapes(java.lang.String str)
-
addUnicodeEscapes
public static java.lang.String addUnicodeEscapes(java.lang.String str)
-
-