类 CommonTokenStream

  • 所有已实现的接口:
    IntStream, TokenStream
    直接已知子类:
    Interp.FilteringTokenStream, TokenRewriteStream

    public class CommonTokenStream
    extends BufferedTokenStream
    The most common stream of tokens where every token is buffered up and tokens are filtered for a certain channel (the parser will only see these tokens). Even though it buffers all of the tokens, this token stream pulls tokens from the tokens source on demand. In other words, until you ask for a token using consume(), LT(), etc. the stream does not pull from the lexer. The only difference between this stream and BufferedTokenStream superclass is that this stream knows how to ignore off channel tokens. There may be a performance advantage to using the superclass if you don't pass whitespace and comments etc. to the parser on a hidden channel (i.e., you set $channel instead of calling skip() in lexer rules.)
    另请参阅:
    UnbufferedTokenStream, BufferedTokenStream
    • 字段详细资料

      • channel

        protected int channel
        Skip tokens on any channel but this one; this is how we skip whitespace...
    • 构造器详细资料

      • CommonTokenStream

        public CommonTokenStream()
      • CommonTokenStream

        public CommonTokenStream​(TokenSource tokenSource)
      • CommonTokenStream

        public CommonTokenStream​(TokenSource tokenSource,
                                 int channel)
    • 方法详细资料

      • LT

        public Token LT​(int k)
        从接口复制的说明: TokenStream
        Get Token at current input pointer + i ahead where i=1 is next Token. i<0 indicates tokens in the past. So -1 is previous token and -2 is two tokens ago. LT(0) is undefined. For i>=n, return Token.EOFToken. Return null for LT(0) and any index that results in an absolute address that is negative.
        指定者:
        LT 在接口中 TokenStream
        覆盖:
        LT 在类中 BufferedTokenStream
      • skipOffTokenChannels

        protected int skipOffTokenChannels​(int i)
        Given a starting index, return the index of the first on-channel token.
      • skipOffTokenChannelsReverse

        protected int skipOffTokenChannelsReverse​(int i)
      • getNumberOfOnChannelTokens

        public int getNumberOfOnChannelTokens()
        Count EOF just once.