projects
/
sbp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
preliminary support for serialization of parse tables
[sbp.git]
/
src
/
edu
/
berkeley
/
sbp
/
Input.java
diff --git
a/src/edu/berkeley/sbp/Input.java
b/src/edu/berkeley/sbp/Input.java
index
bf0d50d
..
ac2c486
100644
(file)
--- a/
src/edu/berkeley/sbp/Input.java
+++ b/
src/edu/berkeley/sbp/Input.java
@@
-1,25
+1,27
@@
-// 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.*;
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.*;
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> {
/** <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();
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 String getName();
+ /** might called by Parser when it is done with the input */
+ public void close();
+
/**
* <b>Optional:</b> <i>If possible</i>, this method will return a
* rendering of the input region (for example, if the input is a
/**
* <b>Optional:</b> <i>If possible</i>, this method will return a
* rendering of the input region (for example, if the input is a
@@
-30,7
+32,7
@@
public interface Input<Token> {
*/
public abstract String showRegion(Region<Token> r, int maxLength);
*/
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> */
public static interface Location<Token> extends Comparable<Location> {
/** return the region between this location and <tt>loc</tt> */
@@
-46,12
+48,9
@@
public interface Input<Token> {
}
/** <font color=purple>a contiguous set of <tt>Location</tt>s</font> */
}
/** <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 */
public abstract String toString();
/** The location of the start of this region */