1 package org.codehaus.groovy.syntax.lexer; 2 3 import org.codehaus.groovy.syntax.AbstractTokenStream; 4 import org.codehaus.groovy.syntax.SyntaxException; 5 import org.codehaus.groovy.syntax.ReadException; 6 import org.codehaus.groovy.syntax.Token; 7 8 9 /*** 10 * Implements a <code>TokenStream</code> on a <code>Lexer</code>. 11 */ 12 13 public class LexerTokenStream 14 extends AbstractTokenStream 15 { 16 private Lexer lexer; 17 18 /*** 19 * Initializes the <code>LexerTokenStream</code>. 20 */ 21 22 public LexerTokenStream(Lexer lexer) 23 { 24 this.lexer = lexer; 25 } 26 27 28 /*** 29 * Returns the underlying <code>Lexer</code>. 30 */ 31 32 public Lexer getLexer() 33 { 34 return this.lexer; 35 } 36 37 38 /*** 39 * Returns the next token from the <code>Lexer</code>. 40 */ 41 42 public Token nextToken() throws ReadException, SyntaxException 43 { 44 return getLexer().nextToken(); 45 } 46 }