TokenStreamSelector
antlr
Class TokenStreamSelector
java.lang.Object
antlr.TokenStreamSelector
- All Implemented Interfaces:
- TokenStream
- public class TokenStreamSelector
- extends java.lang.Object
- implements TokenStream
A token stream MUX (multiplexor) knows about n token streams
and can multiplex them onto the same channel for use by token
stream consumer like a parser. This is a way to have multiple
lexers break up the same input stream for a single parser.
Or, you can have multiple instances of the same lexer handle
multiple input streams; this works great for includes.
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TokenStreamSelector
public TokenStreamSelector()
addInputStream
public void addInputStream(TokenStream stream,
java.lang.String key)
getCurrentStream
public TokenStream getCurrentStream()
- Return the stream from tokens are being pulled at
the moment.
getStream
public TokenStream getStream(java.lang.String sname)
nextToken
public Token nextToken()
throws TokenStreamException
- Specified by:
nextToken in interface TokenStream
- Throws:
TokenStreamException
pop
public TokenStream pop()
push
public void push(TokenStream stream)
push
public void push(java.lang.String sname)
retry
public void retry()
throws TokenStreamRetryException
- Abort recognition of current Token and try again.
A stream can push a new stream (for include files
for example, and then retry(), which will cause
the current stream to abort back to this.nextToken().
this.nextToken() then asks for a token from the
current stream, which is the new "substream."
- Throws:
TokenStreamRetryException
select
public void select(TokenStream stream)
- Set the stream without pushing old stream
select
public void select(java.lang.String sname)
throws java.lang.IllegalArgumentException
- Throws:
java.lang.IllegalArgumentException