Package edu.isi.pegasus.planner.parser
Class TransformationCatalogTextScanner
- java.lang.Object
-
- edu.isi.pegasus.planner.parser.TransformationCatalogTextScanner
-
public class TransformationCatalogTextScanner extends java.lang.Object
Implements the scanner for reserved words and other tokens that are generated from the input stream for the Transformation Catalog.- Author:
- Jens Vöckler, Karan Vahi
-
-
Field Summary
Fields Modifier and Type Field Description private java.io.LineNumberReader
mInputReader
Stores the stream from which we are currently scanning.private int
mLookAhead
Captures the look-ahead character.private Token
mPreviousToken
Captures the previous token.
-
Constructor Summary
Constructors Constructor Description TransformationCatalogTextScanner(java.io.Reader reader)
Starts to scan the given stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getLineNumber()
Obtains the current line number in the input stream from the outside.boolean
hasMoreTokens()
Checks for the availability of more input.Token
nextToken()
Obtains the next token from the input stream.private void
skipWhitespace()
Skips any white space and comments in the input.
-
-
-
Field Detail
-
mInputReader
private java.io.LineNumberReader mInputReader
Stores the stream from which we are currently scanning.
-
mLookAhead
private int mLookAhead
Captures the look-ahead character.
-
mPreviousToken
private Token mPreviousToken
Captures the previous token. Required to parse transformation value correctly.
-
-
Method Detail
-
getLineNumber
public int getLineNumber()
Obtains the current line number in the input stream from the outside.- Returns:
- the current line number.
-
skipWhitespace
private void skipWhitespace() throws java.io.IOException
Skips any white space and comments in the input. This method stops either at the end of file, or at any non-whitespace input character.- Throws:
java.io.IOException
-
hasMoreTokens
public boolean hasMoreTokens() throws java.io.IOException
Checks for the availability of more input.- Returns:
- true, if there is more to read, false for EOF.
- Throws:
java.io.IOException
-
nextToken
public Token nextToken() throws java.io.IOException, ScannerException
Obtains the next token from the input stream.- Returns:
- an instance conforming to the token interface, or null for eof.
- Throws:
java.io.IOException
- if something went wrong while readingjava.lang.Exception
- if a lexical error was encountered.ScannerException
-
-