1 19 20 package org.netbeans.modules.lexer.nbbridge.test.simple; 21 22 import org.netbeans.api.lexer.Token; 23 import org.netbeans.spi.lexer.Lexer; 24 import org.netbeans.spi.lexer.LexerInput; 25 import org.netbeans.spi.lexer.LexerRestartInfo; 26 import org.netbeans.spi.lexer.TokenFactory; 27 28 33 final class SimpleCharLexer implements Lexer<SimpleCharTokenId> { 34 35 private LexerInput input; 36 37 private TokenFactory<SimpleCharTokenId> tokenFactory; 38 39 SimpleCharLexer(LexerRestartInfo<SimpleCharTokenId> info) { 40 this.input = info.input(); 41 this.tokenFactory = info.tokenFactory(); 42 } 43 44 public Token<SimpleCharTokenId> nextToken() { 45 int ch = input.read(); 46 if (ch == LexerInput.EOF) { 47 return null; 48 } else if (Character.isDigit(ch)) { 49 return tokenFactory.createToken(SimpleCharTokenId.DIGIT); 50 } else { 51 return tokenFactory.createToken(SimpleCharTokenId.CHARACTER); 52 } 53 } 54 55 public Object state() { 56 return null; } 58 59 public void release() { 60 } 61 62 } 63 | Popular Tags |