Class LexGen


  • public class LexGen
    extends java.lang.Object
    Generate lexer.
    • Field Detail

      • context

        private final Context context
      • allTpsForState

        private java.util.Hashtable<java.lang.String,​java.util.List<TokenProduction>> allTpsForState
      • kinds

        private int[] kinds
      • maxOrdinal

        private int maxOrdinal
      • newLexState

        private java.lang.String[] newLexState
      • actions

        private Action[] actions
      • initStates

        private java.util.Hashtable<java.lang.String,​NfaState> initStates
      • totalNumStates

        private int totalNumStates
      • maxLexStates

        private int maxLexStates
      • singlesToSkip

        private NfaState[] singlesToSkip
      • toSkip

        private long[] toSkip
      • toSpecial

        private long[] toSpecial
      • toMore

        private long[] toMore
      • toToken

        private long[] toToken
      • defaultLexState

        private int defaultLexState
      • initMatch

        private int[] initMatch
      • canLoop

        private boolean[] canLoop
      • canReachOnMore

        private boolean[] canReachOnMore
      • hasNfa

        private boolean[] hasNfa
      • initialState

        private NfaState initialState
    • Constructor Detail

      • LexGen

        public LexGen​(Context context)
    • Method Detail

      • BuildLexStatesTable

        private LexerContext BuildLexStatesTable​(boolean unicodeWarning)
      • GetIndex

        private int GetIndex​(java.lang.String name,
                             java.lang.String[] lexStateNames)
      • generateTokenizerData

        public TokenizerData generateTokenizerData​(boolean generateDataOnly,
                                                   boolean unicodeWarning)
                                            throws java.io.IOException
        Throws:
        java.io.IOException