TokenStreamBasicFilter.cpp
上传用户:afrynkmhm
上传日期:2007-01-06
资源大小:1262k
文件大小:1k
源码类别:
编译器/解释器
开发平台:
Others
- #include "antlr/TokenStreamBasicFilter.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.
- */
- TokenStreamBasicFilter::TokenStreamBasicFilter(TokenStream& input_)
- : input(&input_)
- {
- }
- void TokenStreamBasicFilter::discard(int ttype)
- {
- discardMask.add(ttype);
- }
- void TokenStreamBasicFilter::discard(const BitSet& mask)
- {
- discardMask = mask;
- }
- RefToken TokenStreamBasicFilter::nextToken()
- {
- RefToken tok = input->nextToken();
- while ( tok && discardMask.member(tok->getType()) ) {
- tok = input->nextToken();
- }
- return tok;
- }
- ANTLR_END_NAMESPACE