| java.lang.Object org.codehaus.janino.Scanner
Scanner | public class Scanner (Code) | | Splits up a character stream into tokens and returns them as
java.lang.String String objects.
The optionalFileName parameter passed to many
constructors should point
|
Inner Class :abstract public class Token | |
Inner Class :public class KeywordToken extends Token | |
Inner Class :public class IdentifierToken extends Token | |
Inner Class :final public class LiteralToken extends Token | |
Inner Class :public class OperatorToken extends Token | |
Inner Class :public class EOFToken extends Token | |
Inner Class :public class ScanException extends LocatedException | |
Inner Class :public static class LocatedException extends Exception | |
Field Summary | |
final public static Integer | MAGIC_INTEGER This value represents the "magic" literal "2147483648" which is only
allowed in a negated context. | final public static Long | MAGIC_LONG This value represents the "magic" literal "9223372036854775808L" which is only
allowed in a negated context. |
Constructor Summary | |
public | Scanner(String fileName) Set up a scanner that reads tokens from the given file in the default charset. | public | Scanner(String fileName, String encoding) Set up a scanner that reads tokens from the given file in the given encoding. | public | Scanner(File file) Set up a scanner that reads tokens from the given file in the platform
default encoding. | public | Scanner(File file, String optionalEncoding) Set up a scanner that reads tokens from the given file in the given encoding. | public | Scanner(String optionalFileName, InputStream is) Set up a scanner that reads tokens from the given
InputStream in the platform default encoding. | public | Scanner(String optionalFileName, InputStream is, String optionalEncoding) Set up a scanner that reads tokens from the given
InputStream with the given optionalEncoding
(null means platform default encoding).
The optionalFileName is used for reporting errors during
compilation and for source level debugging, and should name an existing
file. | public | Scanner(String optionalFileName, Reader in) Set up a scanner that reads tokens from the given
Reader .
The optionalFileName is used for reporting errors during
compilation and for source level debugging, and should name an existing
file. | public | Scanner(String optionalFileName, Reader in, short initialLineNumber, short initialColumnNumber) Creates a
Scanner that counts lines and columns from non-default initial
values. |
Method Summary | |
public void | close() Closes the character source (file,
InputStream ,
Reader ) associated
with this object. | public String | doc() Get the text of the doc comment (a.k.a. | public String | getFileName() Return the file name optionally passed to the constructor. | public static String | literalValueToString(Object v) | public Location | location() Returns the
Location of the next token. | public Token | peek() Peek the next token, but don't remove it from the input. | public Token | peekNextButOne() Peek the next but one token, neither remove the next nor the next but one token from the
input.
This makes parsing so much easier, e.g. | public Token | read() Read the next token from the input. | public void | setWarningHandler(WarningHandler optionalWarningHandler) By default, warnings are discarded, but an application my install a
WarningHandler .
Notice that there is no Scanner.setErrorHandler() method, but scan errors
always throw a
ScanException . |
MAGIC_INTEGER | final public static Integer MAGIC_INTEGER(Code) | | This value represents the "magic" literal "2147483648" which is only
allowed in a negated context.
|
MAGIC_LONG | final public static Long MAGIC_LONG(Code) | | This value represents the "magic" literal "9223372036854775808L" which is only
allowed in a negated context.
|
Scanner | public Scanner(String fileName) throws ScanException, IOException(Code) | | Set up a scanner that reads tokens from the given file in the default charset.
This method is deprecated because it leaves the input file open.
|
Scanner | public Scanner(String fileName, String encoding) throws ScanException, IOException(Code) | | Set up a scanner that reads tokens from the given file in the given encoding.
This method is deprecated because it leaves the input file open.
|
Scanner | public Scanner(File file) throws ScanException, IOException(Code) | | Set up a scanner that reads tokens from the given file in the platform
default encoding.
This method is deprecated because it leaves the input file open.
|
Scanner | public Scanner(File file, String optionalEncoding) throws ScanException, IOException(Code) | | Set up a scanner that reads tokens from the given file in the given encoding.
This method is deprecated because it leaves the input file open.
|
Scanner | public Scanner(String optionalFileName, InputStream is) throws ScanException, IOException(Code) | | Set up a scanner that reads tokens from the given
InputStream in the platform default encoding.
The fileName is solely used for reporting in thrown
exceptions.
Parameters: optionalFileName - Parameters: is - throws: ScanException - throws: IOException - |
Scanner | public Scanner(String optionalFileName, InputStream is, String optionalEncoding) throws ScanException, IOException(Code) | | Set up a scanner that reads tokens from the given
InputStream with the given optionalEncoding
(null means platform default encoding).
The optionalFileName is used for reporting errors during
compilation and for source level debugging, and should name an existing
file. If null is passed, and the system property
org.codehaus.janino.source_debugging.enable is set to "true", then
a temporary file in org.codehaus.janino.source_debugging.dir or the
system's default temp dir is created in order to make the source code
available to a debugger.
|
Scanner | public Scanner(String optionalFileName, Reader in) throws ScanException, IOException(Code) | | Set up a scanner that reads tokens from the given
Reader .
The optionalFileName is used for reporting errors during
compilation and for source level debugging, and should name an existing
file. If null is passed, and the system property
org.codehaus.janino.source_debugging.enable is set to "true", then
a temporary file in org.codehaus.janino.source_debugging.dir or the
system's default temp dir is created in order to make the source code
available to a debugger.
|
Scanner | public Scanner(String optionalFileName, Reader in, short initialLineNumber, short initialColumnNumber) throws ScanException, IOException(Code) | | Creates a
Scanner that counts lines and columns from non-default initial
values.
|
doc | public String doc()(Code) | | Get the text of the doc comment (a.k.a. "JAVADOC comment") preceeding
the next token.
null if the next token is not preceeded by a doc comment |
getFileName | public String getFileName()(Code) | | Return the file name optionally passed to the constructor.
|
peek | public Token peek()(Code) | | Peek the next token, but don't remove it from the input.
|
peekNextButOne | public Token peekNextButOne() throws ScanException, IOException(Code) | | Peek the next but one token, neither remove the next nor the next but one token from the
input.
This makes parsing so much easier, e.g. for class literals like
Map.class .
|
read | public Token read() throws ScanException, IOException(Code) | | Read the next token from the input.
|
setWarningHandler | public void setWarningHandler(WarningHandler optionalWarningHandler)(Code) | | By default, warnings are discarded, but an application my install a
WarningHandler .
Notice that there is no Scanner.setErrorHandler() method, but scan errors
always throw a
ScanException . The reason being is that there is no reasonable
way to recover from scan errors and continue scanning, so there is no need to install
a custom scan error handler.
Parameters: optionalWarningHandler - null to indicate that no warnings be issued |
|
|