X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FInput.java;h=c16947d24f18600ae7b0c4ee0bd0e76fa0fd1e49;hb=3ee451bce342d4bb61ad6235ba57bdf817bfdd1a;hp=846fd9a7b60de45439cc7650913e8121e6f1c75a;hpb=e12a3098c6ed3cbfa6493870af3688f833c4f8ac;p=sbp.git diff --git a/src/edu/berkeley/sbp/Input.java b/src/edu/berkeley/sbp/Input.java index 846fd9a..c16947d 100644 --- a/src/edu/berkeley/sbp/Input.java +++ b/src/edu/berkeley/sbp/Input.java @@ -1,3 +1,5 @@ +// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license + package edu.berkeley.sbp; import java.io.*; import java.util.*; @@ -6,7 +8,7 @@ import java.lang.ref.*; import edu.berkeley.sbp.*; import edu.berkeley.sbp.util.*; -/** a stream of tokens to be parsed */ +/** a stream of Tokens to be parsed */ public interface Input { /** returns the token just beyond the current location and advances beyond it */ @@ -15,23 +17,19 @@ public interface Input { /** returns the location the input stream is currently at */ public Location getLocation(); - /** a location between tokens in the input stream */ - public static interface Location extends Comparable { + /** a location (position) in the input stream -- between tokens */ + public static interface Location extends Comparable { + + /** return the region between this location and loc */ + public Region createRegion(Location loc); + public String toString(); } - public static class Region /* implements Topology> */ { - public final Loc start; - public final Loc end; - public Region(Loc a, Loc b) { - switch(a.compareTo(b)) { - case -1: - case 0: start=a; end=b; return; - case 1: start=b; end=a; return; - default: throw new Error("impossible"); - } - } + /** a contiguous set of Locations */ + public static interface Region /* implements Topology> */ { } + }