X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FInput.java;h=c16947d24f18600ae7b0c4ee0bd0e76fa0fd1e49;hb=3ee451bce342d4bb61ad6235ba57bdf817bfdd1a;hp=d8374cdf08e35af3a76c9023e76708841f0f692f;hpb=a7b84506c2e1ed63343db215f76afced082e2826;p=sbp.git diff --git a/src/edu/berkeley/sbp/Input.java b/src/edu/berkeley/sbp/Input.java index d8374cd..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,16 +8,28 @@ import java.lang.ref.*; import edu.berkeley.sbp.*; import edu.berkeley.sbp.util.*; -/** a token of input -- note that this represents an actual input token rather than an Element which matches a token */ -public interface Input { +/** 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 */ + public Location getLocation(); + + /** a location (position) in the input stream -- between tokens */ + public static interface Location extends Comparable { - public Tok next(int numstates, int resets, int waits) throws IOException; - public abstract Location getLocation(); + /** return the region between this location and loc */ + public Region createRegion(Location loc); - /** a location *between tokens* in the input stream */ - public static interface Location { public String toString(); } + + /** a contiguous set of Locations */ + public static interface Region /* implements Topology> */ { + } + }