/ OSX / libsecurity_codesigning / antlr2 / antlr / TokenStreamBasicFilter.hpp
TokenStreamBasicFilter.hpp
 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
16  namespace 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   */
23  class ANTLR_API TokenStreamBasicFilter : public TokenStream {
24  	/** The set of token types to discard */
25  protected:
26  	BitSet discardMask;
27  
28  	/** The input stream */
29  protected:
30  	TokenStream* input;
31  
32  public:
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__