TokenStreamBasicFilter.java
上传用户:afrynkmhm
上传日期:2007-01-06
资源大小:1262k
文件大小:1k
源码类别:
编译器/解释器
开发平台:
Others
- package antlr;
- /* ANTLR Translator Generator
- * Project led by Terence Parr at http://www.jGuru.com
- * Software rights: http://www.antlr.org/RIGHTS.html
- *
- * $Id: //depot/code/org.antlr/release/antlr-2.7.0/antlr/TokenStreamBasicFilter.java#1 $
- */
- import antlr.collections.impl.BitSet;
- /** 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.
- */
- public class TokenStreamBasicFilter implements TokenStream {
- /** The set of token types to discard */
- protected BitSet discardMask;
- /** The input stream */
- protected TokenStream input;
- public TokenStreamBasicFilter(TokenStream input) {
- this.input = input;
- discardMask = new BitSet();
- }
- public void discard(int ttype) {
- discardMask.add(ttype);
- }
- public void discard(BitSet mask) {
- discardMask = mask;
- }
- public Token nextToken() throws TokenStreamException {
- Token tok = input.nextToken();
- while ( tok!=null && discardMask.member(tok.getType()) ) {
- tok = input.nextToken();
- }
- return tok;
- }
- }