X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FCharToken.java;fp=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FCharToken.java;h=580e851718e779127fd2e0e3b489c9f14cb05241;hp=eafe88230ddefd5ac5b79a3413c91b667359dda2;hb=d6269a7a0a5b3fe84e75725deaac560117ffc26e;hpb=61a641445b4f0916427804a6168b87fcde977abf diff --git a/src/edu/berkeley/sbp/misc/CharToken.java b/src/edu/berkeley/sbp/misc/CharToken.java index eafe882..580e851 100644 --- a/src/edu/berkeley/sbp/misc/CharToken.java +++ b/src/edu/berkeley/sbp/misc/CharToken.java @@ -8,10 +8,14 @@ import edu.berkeley.sbp.Token.Location; import edu.berkeley.sbp.util.*; /** an implementation of Token for streams of Java char values */ -public class CharToken implements IntegerMappable { +public class CharToken { - public static final Atom leftBrace = new CharRange(new IntegerTopology(null, 9998)) { public String toString() { return "{"; } }; - public static final Atom rightBrace = new CharRange(new IntegerTopology(null, 9999)) { public String toString() { return "}"; } }; + public static final Functor c2i = new Functor() { + public Integer invoke(CharToken c) { return new Integer(c.c); } + }; + + public static final Atom leftBrace = new CharRange(new IntegerTopology(c2i, 9998)) { public String toString() { return "{"; } }; + public static final Atom rightBrace = new CharRange(new IntegerTopology(c2i, 9999)) { public String toString() { return "}"; } }; public static final CharToken left = new CharToken((char)9998); public static final CharToken right = new CharToken((char)9999);