Class Interpreter

  • All Implemented Interfaces:
    org.antlr.runtime.TokenSource

    public class Interpreter
    extends java.lang.Object
    implements org.antlr.runtime.TokenSource
    The recognition interpreter/engine for grammars. Separated out of Grammar as it's related, but technically not a Grammar function. You create an interpreter for a grammar and an input stream. This object can act as a TokenSource so that you can hook up two grammars (via a CommonTokenStream) to lex/parse. Being a token source only makes sense for a lexer grammar of course.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      (package private) class  Interpreter.LexerActionGetTokenType
      A lexer listener that just creates token objects as they are matched.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected Grammar grammar  
      protected org.antlr.runtime.IntStream input  
    • Constructor Summary

      Constructors 
      Constructor Description
      Interpreter​(Grammar grammar, org.antlr.runtime.IntStream input)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getSourceName()  
      org.antlr.runtime.Token nextToken()  
      org.antlr.runtime.tree.ParseTree parse​(java.lang.String startRule)  
      org.antlr.runtime.tree.ParseTree parse​(java.lang.String startRule, java.util.List<NFAState> visitedStates)  
      void parse​(java.lang.String startRule, org.antlr.runtime.debug.DebugEventListener actions, java.util.List<NFAState> visitedStates)  
      protected void parseEngine​(java.lang.String startRule, NFAState start, NFAState stop, org.antlr.runtime.IntStream input, java.util.Stack<NFAState> ruleInvocationStack, org.antlr.runtime.debug.DebugEventListener actions, java.util.List<NFAState> visitedStates)
      Fill a list of all NFA states visited during the parse
      int predict​(DFA dfa)
      Given an input stream, return the unique alternative predicted by matching the input.
      void reportScanError​(org.antlr.runtime.RecognitionException re)  
      org.antlr.runtime.CommonToken scan​(java.lang.String startRule)  
      org.antlr.runtime.CommonToken scan​(java.lang.String startRule, java.util.List<NFAState> visitedStates)  
      void scan​(java.lang.String startRule, org.antlr.runtime.debug.DebugEventListener actions, java.util.List<NFAState> visitedStates)
      For a given input char stream, try to match against the NFA starting at startRule.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • grammar

        protected Grammar grammar
      • input

        protected org.antlr.runtime.IntStream input
    • Constructor Detail

      • Interpreter

        public Interpreter​(Grammar grammar,
                           org.antlr.runtime.IntStream input)
    • Method Detail

      • nextToken

        public org.antlr.runtime.Token nextToken()
        Specified by:
        nextToken in interface org.antlr.runtime.TokenSource
      • scan

        public void scan​(java.lang.String startRule,
                         org.antlr.runtime.debug.DebugEventListener actions,
                         java.util.List<NFAState> visitedStates)
                  throws org.antlr.runtime.RecognitionException
        For a given input char stream, try to match against the NFA starting at startRule. This is a deterministic parse even though it is using an NFA because it uses DFAs at each decision point to predict which alternative will succeed. This is exactly what the generated parser will do. This only does lexer grammars. Return the token type associated with the final rule end state.
        Throws:
        org.antlr.runtime.RecognitionException
      • scan

        public org.antlr.runtime.CommonToken scan​(java.lang.String startRule)
                                           throws org.antlr.runtime.RecognitionException
        Throws:
        org.antlr.runtime.RecognitionException
      • scan

        public org.antlr.runtime.CommonToken scan​(java.lang.String startRule,
                                                  java.util.List<NFAState> visitedStates)
                                           throws org.antlr.runtime.RecognitionException
        Throws:
        org.antlr.runtime.RecognitionException
      • parse

        public void parse​(java.lang.String startRule,
                          org.antlr.runtime.debug.DebugEventListener actions,
                          java.util.List<NFAState> visitedStates)
                   throws org.antlr.runtime.RecognitionException
        Throws:
        org.antlr.runtime.RecognitionException
      • parse

        public org.antlr.runtime.tree.ParseTree parse​(java.lang.String startRule)
                                               throws org.antlr.runtime.RecognitionException
        Throws:
        org.antlr.runtime.RecognitionException
      • parse

        public org.antlr.runtime.tree.ParseTree parse​(java.lang.String startRule,
                                                      java.util.List<NFAState> visitedStates)
                                               throws org.antlr.runtime.RecognitionException
        Throws:
        org.antlr.runtime.RecognitionException
      • parseEngine

        protected void parseEngine​(java.lang.String startRule,
                                   NFAState start,
                                   NFAState stop,
                                   org.antlr.runtime.IntStream input,
                                   java.util.Stack<NFAState> ruleInvocationStack,
                                   org.antlr.runtime.debug.DebugEventListener actions,
                                   java.util.List<NFAState> visitedStates)
                            throws org.antlr.runtime.RecognitionException
        Fill a list of all NFA states visited during the parse
        Throws:
        org.antlr.runtime.RecognitionException
      • predict

        public int predict​(DFA dfa)
        Given an input stream, return the unique alternative predicted by matching the input. Upon error, return NFA.INVALID_ALT_NUMBER The first symbol of lookahead is presumed to be primed; that is, input.lookahead(1) must point at the input symbol you want to start predicting with.
      • reportScanError

        public void reportScanError​(org.antlr.runtime.RecognitionException re)
      • getSourceName

        public java.lang.String getSourceName()
        Specified by:
        getSourceName in interface org.antlr.runtime.TokenSource