diff options
Diffstat (limited to 'poxml/antlr/antlr/TokenStreamBasicFilter.hpp')
-rw-r--r-- | poxml/antlr/antlr/TokenStreamBasicFilter.hpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/poxml/antlr/antlr/TokenStreamBasicFilter.hpp b/poxml/antlr/antlr/TokenStreamBasicFilter.hpp new file mode 100644 index 00000000..5438878b --- /dev/null +++ b/poxml/antlr/antlr/TokenStreamBasicFilter.hpp @@ -0,0 +1,35 @@ +#ifndef INC_TokenStreamBasicFilter_hpp__ +#define INC_TokenStreamBasicFilter_hpp__ + +#include "antlr/config.hpp" +#include "antlr/BitSet.hpp" +#include "antlr/TokenStream.hpp" + +ANTLR_BEGIN_NAMESPACE(antlr) + +/** This object is a TokenStream that passes through all + * tokens except for those that you tell it to discard. + * There is no buffering of the tokens. + */ +class TokenStreamBasicFilter : public TokenStream { + /** The set of token types to discard */ +protected: + BitSet discardMask; + + /** The input stream */ +protected: + TokenStream* input; + +public: + TokenStreamBasicFilter(TokenStream& input_); + + void discard(int ttype); + + void discard(const BitSet& mask); + + RefToken nextToken(); +}; + +ANTLR_END_NAMESPACE + +#endif //INC_TokenStreamBasicFilter_hpp__ |