Public Member Functions | |
TokenStreamSelector () | |
void | addInputStream (TokenStream stream, String key) |
TokenStream | getCurrentStream () |
TokenStream | getStream (String sname) |
Token | nextToken () throws TokenStreamException |
TokenStream | pop () |
void | push (TokenStream stream) |
void | push (String sname) |
void | retry () throws TokenStreamRetryException |
void | select (TokenStream stream) |
void | select (String sname) throws IllegalArgumentException |
String | getEntireText () |
TokenOffsetInfo | getOffsetInfo (Token token) |
Protected Attributes | |
Hashtable | inputStreamNames |
TokenStream | input |
Stack | streamStack = new LList() |
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.
antlr.TokenStreamSelector.TokenStreamSelector | ( | ) |
References antlr.TokenStreamSelector.inputStreamNames.
void antlr.TokenStreamSelector.addInputStream | ( | TokenStream | stream, | |
String | key | |||
) |
References antlr.TokenStreamSelector.inputStreamNames.
Referenced by Main.main().
TokenStream antlr.TokenStreamSelector.getCurrentStream | ( | ) |
Return the stream from tokens are being pulled at the moment.
References antlr.TokenStreamSelector.input.
String antlr.TokenStreamSelector.getEntireText | ( | ) |
Returns the entire text input to the lexer.
null
, if error occured or System.in was used. Implements antlr.ASdebug.IASDebugStream.
References antlr.TokenStreamSelector.input.
TokenOffsetInfo antlr.TokenStreamSelector.getOffsetInfo | ( | Token | token | ) |
Returns the offset information for the token
token | the token whose information need to be retrieved |
null
Implements antlr.ASdebug.IASDebugStream.
References antlr.TokenStreamSelector.input.
TokenStream antlr.TokenStreamSelector.getStream | ( | String | sname | ) |
References antlr.TokenStreamSelector.inputStreamNames.
Referenced by antlr.TokenStreamSelector.select().
Token antlr.TokenStreamSelector.nextToken | ( | ) | throws TokenStreamException |
References antlr.TokenStreamSelector.input, and antlr.TokenStream.nextToken().
TokenStream antlr.TokenStreamSelector.pop | ( | ) |
void antlr.TokenStreamSelector.push | ( | TokenStream | stream | ) |
void antlr.TokenStreamSelector.push | ( | String | sname | ) |
void antlr.TokenStreamSelector.retry | ( | ) | throws TokenStreamRetryException |
void antlr.TokenStreamSelector.select | ( | String | sname | ) | throws IllegalArgumentException |
References antlr.TokenStreamSelector.getStream(), and antlr.TokenStreamSelector.input.
void antlr.TokenStreamSelector.select | ( | TokenStream | stream | ) |
Set the stream without pushing old stream
References antlr.TokenStreamSelector.input.
Referenced by Main.main(), antlr.TokenStreamSelector.pop(), and antlr.TokenStreamSelector.push().
TokenStream antlr.TokenStreamSelector.input [protected] |
The currently-selected token stream input
Referenced by antlr.TokenStreamSelector.getCurrentStream(), antlr.TokenStreamSelector.getEntireText(), antlr.TokenStreamSelector.getOffsetInfo(), antlr.TokenStreamSelector.nextToken(), antlr.TokenStreamSelector.push(), and antlr.TokenStreamSelector.select().
Hashtable antlr.TokenStreamSelector.inputStreamNames [protected] |
The set of inputs to the MUX
Referenced by antlr.TokenStreamSelector.addInputStream(), antlr.TokenStreamSelector.getStream(), and antlr.TokenStreamSelector.TokenStreamSelector().
Stack antlr.TokenStreamSelector.streamStack = new LList() [protected] |
Used to track stack of input streams
Referenced by antlr.TokenStreamSelector.pop(), and antlr.TokenStreamSelector.push().