/** a location <i>between tokens<i> in the input stream */
public static interface Location<Tok> extends Comparable<Location> {
public String toString();
+ public Region<Tok> createRegion(Location<Tok> loc);
}
- public static class Region<Loc extends Location> /* implements Topology<Location<Tok>> */ {
- 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");
- }
- }
- }
+ public static interface Region<Tok> /* implements Topology<Location<Tok>> */ { }
}