/* * This file is part of the X10 project (http://x10-lang.org). * * This file is licensed to You under the Eclipse Public License (EPL); * You may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.opensource.org/licenses/eclipse-1.0.php * * This file was originally derived from the Polyglot extensible compiler framework. * * (C) Copyright 2000-2007 Polyglot project group, Cornell University * (C) Copyright IBM Corporation 2007-2012. */ package polyglot.lex; import java.io.IOException; /** * The interface "Lexer" describes lexers produced by JFlex for * Polyglot. */ public interface Lexer { /** This character denotes the end of file */ final public static int YYEOF = -1; /** * The file being scanned, for use in constructing diagnostic * messages. */ public String file(); /** * The path to the file being scanned, for use in constructing diagnostic * messages. */ public String path(); /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception IOException if any I/O-Error occurs */ public Token nextToken() throws IOException; }