-// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
+// (C) 2006-2007 all rights reserved; see LICENSE file for BSD-style license
package edu.berkeley.sbp;
import java.io.*;
import java.util.*;
-import java.lang.reflect.*;
-import java.lang.ref.*;
-import edu.berkeley.sbp.*;
import edu.berkeley.sbp.util.*;
+// FEATURE: Region implements Topology<Location<Tok>>
+
/** <font color=purple>a stream of <tt>Token</tt>s to be parsed</font> */
public interface Input<Token> {
- /** returns the token just beyond the current location and advances beyond it */
- public Token next() throws IOException;
-
- /** returns the location the input stream is currently at */
+ /** the current location within the input stream */
public Location<Token> getLocation();
-
- /** should return a short string describing where the input is coming from */
+
+ /** returns the token just beyond the current location and advances beyond it */
+ public Token next() throws IOException;
+
+ /** a short string describing where the input is coming from, such as a filename */
public String getName();
/**
*/
public abstract String showRegion(Region<Token> r, int maxLength);
- /** <font color=purple>a location (position) in the input stream -- <i>between tokens</i></font> */
+ /** <font color=purple>a location (position) in the input stream <i>between tokens</i></font> */
public static interface Location<Token> extends Comparable<Location> {
/** return the region between this location and <tt>loc</tt> */
}
/** <font color=purple>a contiguous set of <tt>Location</tt>s</font> */
- public static interface Region<Token> /* implements Topology<Location<Tok>> */ {
+ public static interface Region<Token> {
- /**
- * the toString() method of Region should return a <80char
- * "rendition" of the input region, if possible
- */
+ /** should return less than 80 chars if possible */
public abstract String toString();
/** The location of the start of this region */