diff options
Diffstat (limited to 'lib/antlr/antlr/TokenStreamBasicFilter.h')
-rw-r--r-- | lib/antlr/antlr/TokenStreamBasicFilter.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/lib/antlr/antlr/TokenStreamBasicFilter.h b/lib/antlr/antlr/TokenStreamBasicFilter.h new file mode 100644 index 00000000..51862169 --- /dev/null +++ b/lib/antlr/antlr/TokenStreamBasicFilter.h @@ -0,0 +1,46 @@ +#ifndef INC_TokenStreamBasicFilter_h__ +#define INC_TokenStreamBasicFilter_h__ + +/* ANTLR Translator Generator + * Project led by Terence Parr at http://www.jGuru.com + * Software rights: http://www.antlr.org/license.html + * + * $Id$ + */ + +#include <antlr/config.h> +#include <antlr/BitSet.h> +#include <antlr/TokenStream.h> + +#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE +namespace antlr { +#endif + +/** 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 ANTLR_API 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(); +}; + +#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE +} +#endif + +#endif //INC_TokenStreamBasicFilter_h__ |