public class TokenStreamSelector extends java.lang.Object implements TokenStream, IASDebugStream
Modifier and Type | Field and Description |
---|---|
protected TokenStream |
input
The currently-selected token stream input
|
protected java.util.Hashtable |
inputStreamNames
The set of inputs to the MUX
|
protected Stack |
streamStack
Used to track stack of input streams
|
Constructor and Description |
---|
TokenStreamSelector() |
Modifier and Type | Method and Description |
---|---|
void |
addInputStream(TokenStream stream,
java.lang.String key) |
TokenStream |
getCurrentStream()
Return the stream from tokens are being pulled at
the moment.
|
java.lang.String |
getEntireText()
Returns the entire text input to the lexer.
|
TokenOffsetInfo |
getOffsetInfo(Token token)
Returns the offset information for the token
|
TokenStream |
getStream(java.lang.String sname) |
Token |
nextToken() |
TokenStream |
pop() |
void |
push(java.lang.String sname) |
void |
push(TokenStream stream) |
void |
retry()
Abort recognition of current Token and try again.
|
void |
select(java.lang.String sname) |
void |
select(TokenStream stream)
Set the stream without pushing old stream
|
protected java.util.Hashtable inputStreamNames
protected TokenStream input
protected Stack streamStack
public void addInputStream(TokenStream stream, java.lang.String key)
public TokenStream getCurrentStream()
public TokenStream getStream(java.lang.String sname)
public Token nextToken() throws TokenStreamException
nextToken
in interface TokenStream
TokenStreamException
public TokenStream pop()
public void push(TokenStream stream)
public void push(java.lang.String sname)
public void retry() throws TokenStreamRetryException
TokenStreamRetryException
public void select(TokenStream stream)
public void select(java.lang.String sname) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public java.lang.String getEntireText()
IASDebugStream
getEntireText
in interface IASDebugStream
null
, if error occured or System.in was used.public TokenOffsetInfo getOffsetInfo(Token token)
IASDebugStream
getOffsetInfo
in interface IASDebugStream
token
- the token whose information need to be retrievednull