import edu.berkeley.sbp.Token.Location;
import edu.berkeley.sbp.util.*;
-public class CharToStringParser extends Parser<CharToken,String> {
+public class CharToStringParser extends Parser<Character,String> {
public Forest<String> parse(InputStream is) throws IOException, ParseFailed {
return super.parse(new Stream(is));
}
}
public CharToStringParser(Union u) {
- super(u, new IntegerTopology<CharToken>(CharToken.c2i));
+ super(u, new IntegerTopology<Character>(CharToken.c2i));
pt.optimize(CharToken.c2i);
}
- public Forest<String> shiftToken(CharToken ct, Location loc) {
- return Forest.create(loc, ct.result(), null, false, false);
+ public Forest<String> shiftToken(Character ct, Location loc) {
+ return Forest.create(loc, ct.toString(), null, false, false);
}
- private static class Stream extends CartesianInput<CharToken> {
+ private static class Stream extends CartesianInput<Character> {
private final Reader r;
public Stream(String s) { this(new StringReader(s)); }
boolean cr = false;
public boolean isCR() { return cr; }
- public CharToken next() throws IOException {
+ public Character next() throws IOException {
cr = false;
int i = r.read();
if (i==-1) return null;
char c = (char)i;
cr = c=='\n';
- return new CharToken(c);
+ return c;
}
}
}