edu.isi.pegasus.planner.parser
Class SiteCatalogTextScanner

java.lang.Object
  extended by edu.isi.pegasus.planner.parser.SiteCatalogTextScanner

 class SiteCatalogTextScanner
extends Object

Implements the scanner for reserved words and other tokens that are generated from the input stream. This class is module-local on purpose.

Author:
Jens Vöckler

Field Summary
private  LineNumberReader m_in
          Stores the stream from which we are currently scanning.
private  int m_lookAhead
          Captures the look-ahead character.
 
Constructor Summary
SiteCatalogTextScanner(Reader reader)
          Starts to scan the given stream.
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_in

private LineNumberReader m_in
Stores the stream from which we are currently scanning.


m_lookAhead

private int m_lookAhead
Captures the look-ahead character.

Constructor Detail

SiteCatalogTextScanner

public SiteCatalogTextScanner(Reader reader)
                       throws IOException
Starts to scan the given stream.

Parameters:
reader - the reader stream from which we are reading the site catalog.
Throws:
IOException
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 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:
IOException

hasMoreTokens

public boolean hasMoreTokens()
                      throws IOException
Checks for the availability of more input.

Returns:
true, if there is more to read, false for EOF.
Throws:
IOException

nextToken

public Token nextToken()
                throws IOException,
                       ScannerException
Obtains the next token from the input stream.

Returns:
an instance conforming to the token interface, or null for eof.
Throws:
IOException - if something went wrong while reading
Exception - if a lexical error was encountered.
ScannerException


Copyright © 2011 The University of Southern California. All Rights Reserved.