Class JavaCCGlobals


  • 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

      Fields 
      Modifier and Type Field Description
      Action actForEof  
      java.util.List<NormalProduction> bnfproductions
      A list of all grammar productions - normal and JAVACODE - in the order they appear in the input file.
      int ccol  
      int cline  
      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)".
      java.lang.String cu_name
      The name of the parser class (what appears in PARSER_BEGIN and PARSER_END).
      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".
      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".
      int jj2index  
      boolean jjtreeGenerated
      Set to true if this file has been processed by JJTree.
      java.util.Hashtable<java.lang.Integer,​java.lang.String> lexstate_I2S
      A mapping of the internal integer representations of lexical states to their strings.
      (package private) java.util.Hashtable<java.lang.String,​java.lang.Integer> lexstate_S2I
      A mapping of lexical state strings to their integer internal representation.
      boolean lookaheadNeeded  
      int maskindex
      maskindex, 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_table
      This 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_tokens
      A mapping of ordinal values (represented as objects of type "Integer") to the corresponding labels (of type "String").
      java.lang.String nextStateForEof  
      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.
      Token otherLanguageDeclTokenBeg  
      Token otherLanguageDeclTokenEnd  
      java.util.Map<java.lang.String,​NormalProduction> production_table
      A symbol table of all grammar productions - normal and JAVACODE.
      java.util.List<TokenProduction> rexprlist
      The list of all TokenProductions from the input file.
      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.
      (package private) 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).
      java.util.List<Token> token_mgr_decls
      The declarations to be inserted into the TokenManager class.
      int tokenCount
      The total number of distinct tokens.
      static java.lang.String toolName
      String that identifies the JavaCC generated files.
      java.util.List<java.lang.String> toolNames
      The 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.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.
      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.
      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 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).
      private static java.util.List<java.lang.String> makeToolNameList​(java.lang.String str)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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
    • 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.
        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)