X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FInput.java;h=7a2df1aee721d512ea2acce0f85bb1c52b7cdadd;hb=44f1ba1ec309f9be850bd9c9400dfc5289f85dd0;hp=6e4b0eefb63de68177f1fb80a286d07bedb18aff;hpb=2c05c84a714f54b3bc026f51416492ddb13f33b1;p=sbp.git diff --git a/src/edu/berkeley/sbp/Input.java b/src/edu/berkeley/sbp/Input.java index 6e4b0ee..7a2df1a 100644 --- a/src/edu/berkeley/sbp/Input.java +++ b/src/edu/berkeley/sbp/Input.java @@ -1,32 +1,35 @@ -// 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> + /** a stream of Tokens to be parsed */ public interface Input { - /** 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 getLocation(); + /** 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(); + /** * Optional: If possible, this method will return a - * <60 char long rendering of the input region (for example, if - * the input is a region of characters, it would be those - * characters, possibly with ellipses in the middle to truncate - * the length) -- otherwise, returns null. + * rendering of the input region (for example, if the input is a + * region of characters, it would be those characters) -- + * otherwise, returns null. In any case, the string returned + * will be no more than maxLength characters long; + * typically ellipses will be inserted to perform truncation. */ - public abstract String showRegion(Region r); + public abstract String showRegion(Region r, int maxLength); - /** a location (position) in the input stream -- between tokens */ + /** a location (position) in the input stream between tokens */ public static interface Location extends Comparable { /** return the region between this location and loc */ @@ -42,12 +45,9 @@ public interface Input { } /** a contiguous set of Locations */ - public static interface Region /* implements Topology> */ { + public static interface Region { - /** - * 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 */