Class JavaCCGlobals

java.lang.Object
org.javacc.parser.JavaCCGlobals
Direct Known Subclasses:
CPPFiles, JavaCCParserInternals, JavaFiles, JJDocGlobals, LookaheadCalc, OtherFilesGen, OtherFilesGenCPP, Semanticize

public class JavaCCGlobals extends 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 Details

    • toolName

      protected static final String toolName
      String that identifies the JavaCC generated files.
      See Also:
    • fileName

      public static String fileName
      The name of the grammar file being processed.
    • origFileName

      public static String origFileName
      The name of the original file (before processing by JJTree). Currently this is the same as fileName.
    • jjtreeGenerated

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

      public static List<String> toolNames
      The list of tools that have participated in generating the input grammar file.
    • cu_name

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

      public static 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 static 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 static 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 static 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 static Map 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 Hashtable<String,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 static Hashtable<Integer,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 static List token_mgr_decls
      The declarations to be inserted into the TokenManager class.
    • rexprlist

      public static 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 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 Map 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 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 static Map<Integer,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 static Map<Integer,RegularExpression> rexps_of_tokens
      A mapping of ordinal values (represented as objects of type "Integer") to the corresponding RegularExpression's.
    • simple_tokens_table

      public static 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
    • lookaheadNeeded

      public static boolean lookaheadNeeded
    • maskVals

      protected static List maskVals
    • otherLanguageDeclTokenBeg

      public static Token otherLanguageDeclTokenBeg
    • otherLanguageDeclTokenEnd

      public static Token otherLanguageDeclTokenEnd
    • cline

      protected static int cline
    • ccol

      protected static int ccol
  • Constructor Details

    • JavaCCGlobals

      public JavaCCGlobals()
  • Method Details

    • bannerLine

      public static void bannerLine(String fullName, 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 String getIdString(String toolName, String fileName)
      Returns the identifying string for the file name, given a toolname used to generate it.
    • getIdString

      public static String getIdString(List<String> toolNames, 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(String toolName, String fileName)
      Returns true if tool name passed is one of the tool names returned by getToolNames(fileName).
    • getToolNames

      public static List<String> getToolNames(String fileName)
      Returns a List of names of the tools that have been used to generate the given file.
    • createOutputDir

      public static void createOutputDir(File outputDir)
    • staticOpt

      public static String staticOpt()
    • add_escapes

      public static String add_escapes(String str)
    • addUnicodeEscapes

      public static String addUnicodeEscapes(String str)
    • printTokenSetup

      protected static void printTokenSetup(Token t)
    • printTokenOnly

      protected static void printTokenOnly(Token t, PrintWriter ostr)
    • printToken

      protected static void printToken(Token t, PrintWriter ostr)
    • printTokenList

      protected static void printTokenList(List<Token> list, PrintWriter ostr)
    • printLeadingComments

      protected static void printLeadingComments(Token t, PrintWriter ostr)
    • printTrailingComments

      protected static void printTrailingComments(Token t, PrintWriter ostr)
    • printTokenOnly

      protected static String printTokenOnly(Token t)
    • printToken

      protected static String printToken(Token t)
    • printLeadingComments

      protected static String printLeadingComments(Token t)
    • printTrailingComments

      protected static String printTrailingComments(Token t)
    • reInit

      public static void reInit()