Class LexerContext


  • class LexerContext
    extends java.lang.Object
    The lexer context provides all variables for a LexGen instance.
    • Field Detail

      • lexStateIndex

        int lexStateIndex
      • curKind

        int curKind
      • lexStates

        int[] lexStates
      • canMatchAnyChar

        int[] canMatchAnyChar
      • ignoreCase

        boolean[] ignoreCase
      • mixed

        boolean[] mixed
      • unicodeWarningGiven

        boolean unicodeWarningGiven
      • generatedStates

        int generatedStates
      • idCnt

        int idCnt
      • dummyStateIndex

        int dummyStateIndex
      • done

        boolean done
      • mark

        boolean[] mark
      • allStates

        java.util.List<NfaState> allStates
      • indexedAllStates

        java.util.List<NfaState> indexedAllStates
      • equivStatesTable

        java.util.Hashtable<java.lang.String,​NfaState> equivStatesTable
      • allNextStates

        java.util.Hashtable<java.lang.String,​int[]> allNextStates
      • stateNameForComposite

        java.util.Hashtable<java.lang.String,​java.lang.Integer> stateNameForComposite
      • compositeStateTable

        java.util.Hashtable<java.lang.String,​int[]> compositeStateTable
      • stateBlockTable

        java.util.Hashtable<java.lang.String,​java.lang.String> stateBlockTable
      • stateSetsToFix

        private java.util.Hashtable<java.lang.String,​int[]> stateSetsToFix
      • initialStates

        final java.util.Map<java.lang.Integer,​NfaState> initialStates
      • statesForLexicalState

        final java.util.Map<java.lang.Integer,​java.util.List<NfaState>> statesForLexicalState
      • nfaStateOffset

        final java.util.Map<java.lang.Integer,​java.lang.Integer> nfaStateOffset
      • matchAnyChar

        final java.util.Map<java.lang.Integer,​java.lang.Integer> matchAnyChar
      • maxStrKind

        int maxStrKind
      • maxLen

        int maxLen
      • maxLenForActive

        int[] maxLenForActive
      • intermediateKinds

        int[][] intermediateKinds
      • intermediateMatchedPos

        int[][] intermediateMatchedPos
      • subString

        boolean[] subString
      • subStringAtPos

        boolean[] subStringAtPos
      • statesForPos

        java.util.Hashtable<java.lang.String,​long[]>[] statesForPos
      • allImages

        java.lang.String[] allImages
      • literalsByLength

        final java.util.Map<java.lang.Integer,​java.util.List<java.lang.String>> literalsByLength
      • literalKinds

        final java.util.Map<java.lang.Integer,​java.util.List<java.lang.Integer>> literalKinds
      • kindToLexicalState

        final java.util.Map<java.lang.Integer,​java.lang.Integer> kindToLexicalState
      • kindToIgnoreCase

        final java.util.Set<java.lang.Integer> kindToIgnoreCase
      • nfaStateMap

        final java.util.Map<java.lang.Integer,​NfaState> nfaStateMap
    • Constructor Detail

      • LexerContext

        LexerContext​(Context context)
    • Method Detail

      • clear

        protected final void clear()
        Initialize all the variables, so that there is no interference between the various states of the lexer. Need to call this method after generating code for each lexical state.