ANTLR Support Libraries 2.7.1+
|
#include <TokenStreamSelector.hpp>
Public Member Functions | |
TokenStreamSelector () | |
~TokenStreamSelector () | |
void | addInputStream (TokenStream *stream, const std::string &key) |
TokenStream * | getCurrentStream () const |
Return the stream from which tokens are being pulled at the moment. | |
TokenStream * | getStream (const std::string &sname) const |
RefToken | nextToken () |
TokenStream * | pop () |
void | push (TokenStream *stream) |
void | push (const std::string &sname) |
void | retry () |
void | select (TokenStream *stream) |
void | select (const std::string &sname) |
Protected Types | |
typedef std::map< std::string, TokenStream * > | inputStreamNames_coll |
typedef std::stack< TokenStream * > | streamStack_coll |
Protected Attributes | |
inputStreamNames_coll | inputStreamNames |
TokenStream * | input |
streamStack_coll | streamStack |
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.
typedef std ::map< std ::string,TokenStream*> TokenStreamSelector::inputStreamNames_coll [protected] |
The set of inputs to the MUX
typedef std ::stack<TokenStream*> TokenStreamSelector::streamStack_coll [protected] |
Used to track stack of input streams
TokenStreamSelector::TokenStreamSelector | ( | ) |
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.
TokenStreamSelector::~TokenStreamSelector | ( | ) |
void TokenStreamSelector::addInputStream | ( | TokenStream * | stream, |
const std::string & | key | ||
) |
TokenStream * TokenStreamSelector::getCurrentStream | ( | ) | const |
Return the stream from which tokens are being pulled at the moment.
TokenStream * TokenStreamSelector::getStream | ( | const std::string & | sname | ) | const |
RefToken TokenStreamSelector::nextToken | ( | void | ) | [virtual] |
Implements TokenStream.
TokenStream * TokenStreamSelector::pop | ( | ) |
void TokenStreamSelector::push | ( | const std::string & | sname | ) |
void TokenStreamSelector::push | ( | TokenStream * | stream | ) |
void TokenStreamSelector::retry | ( | ) |
void TokenStreamSelector::select | ( | const std::string & | sname | ) |
void TokenStreamSelector::select | ( | TokenStream * | stream | ) |
Set the stream without pushing old stream
TokenStream* TokenStreamSelector::input [protected] |
The currently-selected token stream input
streamStack_coll TokenStreamSelector::streamStack [protected] |