1#ifndef INC_TokenStreamBasicFilter_hpp__ 2#define INC_TokenStreamBasicFilter_hpp__ 3 4/* ANTLR Translator Generator 5 * Project led by Terence Parr at http://www.jGuru.com 6 * Software rights: http://www.antlr.org/license.html 7 * 8 * $Id: //depot/code/org.antlr/release/antlr-2.7.7/lib/cpp/antlr/TokenStreamBasicFilter.hpp#2 $ 9 */ 10 11#include <antlr/config.hpp> 12#include <antlr/BitSet.hpp> 13#include <antlr/TokenStream.hpp> 14 15#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE 16namespace antlr { 17#endif 18 19/** This object is a TokenStream that passes through all 20 * tokens except for those that you tell it to discard. 21 * There is no buffering of the tokens. 22 */ 23class ANTLR_API TokenStreamBasicFilter : public TokenStream { 24 /** The set of token types to discard */ 25protected: 26 BitSet discardMask; 27 28 /** The input stream */ 29protected: 30 TokenStream* input; 31 32public: 33 TokenStreamBasicFilter(TokenStream& input_); 34 35 void discard(int ttype); 36 37 void discard(const BitSet& mask); 38 39 RefToken nextToken(); 40}; 41 42#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE 43} 44#endif 45 46#endif //INC_TokenStreamBasicFilter_hpp__ 47