Class DebugTreeParser


public class DebugTreeParser extends TreeParser
  • Field Details

    • dbg

      protected DebugEventListener dbg
      Who to notify when events in the parser occur.
    • isCyclicDecision

      public boolean isCyclicDecision
      Used to differentiate between fixed lookahead and cyclic DFA decisions while profiling.
  • Constructor Details

  • Method Details

    • setDebugListener

      public void setDebugListener(DebugEventListener dbg)
      Provide a new debug event listener for this parser. Notify the input stream too that it should send events to this listener.
    • getDebugListener

      public DebugEventListener getDebugListener()
    • reportError

      public void reportError(IOException e)
    • reportError

      public void reportError(RecognitionException e)
      Description copied from class: BaseRecognizer
      Report a recognition problem. This method sets errorRecovery to indicate the parser is recovering not parsing. Once in recovery mode, no errors are generated. To get out of recovery mode, the parser must successfully match a token (after a resync). So it will go: 1. error occurs 2. enter recovery mode, report error 3. consume until token found in resynch set 4. try to resume parsing 5. next match() will reset errorRecovery mode If you override, make sure to update syntaxErrors if you care about that.
      Overrides:
      reportError in class BaseRecognizer
    • getMissingSymbol

      protected Object getMissingSymbol(IntStream input, RecognitionException e, int expectedTokenType, BitSet follow)
      Description copied from class: BaseRecognizer
      Conjure up a missing token during error recovery. The recognizer attempts to recover from single missing symbols. But, actions might refer to that missing symbol. For example, x=ID {f($x);}. The action clearly assumes that there has been an identifier matched previously and that $x points at that token. If that token is missing, but the next token in the stream is what we want we assume that this token is missing and we keep going. Because we have to return some token to replace the missing token, we have to conjure one up. This method gives the user control over the tokens returned for missing tokens. Mostly, you will want to create something special for identifier tokens. For literals such as '{' and ',', the default action in the parser or tree parser works. It simply creates a CommonToken of the appropriate type. The text will be the token. If you change what tokens must be created by the lexer, override this method to create the appropriate tokens.
      Overrides:
      getMissingSymbol in class TreeParser
    • beginResync

      public void beginResync()
      Description copied from class: BaseRecognizer
      A hook to listen in on the token consumption during error recovery. The DebugParser subclasses this to fire events to the listenter.
      Overrides:
      beginResync in class BaseRecognizer
    • endResync

      public void endResync()
      Overrides:
      endResync in class BaseRecognizer
    • beginBacktrack

      public void beginBacktrack(int level)
    • endBacktrack

      public void endBacktrack(int level, boolean successful)