import edu.berkeley.sbp.util.*;
/** an implementation of Token for streams of Java <tt>char</tt> values */
-public class CharToken implements IntegerMappable {
+public class CharToken {
- public static final Atom leftBrace = new CharRange(new IntegerTopology<CharToken>(null, 9998)) { public String toString() { return "{"; } };
- public static final Atom rightBrace = new CharRange(new IntegerTopology<CharToken>(null, 9999)) { public String toString() { return "}"; } };
+ public static final Functor<CharToken,Integer> c2i = new Functor<CharToken,Integer>() {
+ public Integer invoke(CharToken c) { return new Integer(c.c); }
+ };
+
+ public static final Atom leftBrace = new CharRange(new IntegerTopology<CharToken>(c2i, 9998)) { public String toString() { return "{"; } };
+ public static final Atom rightBrace = new CharRange(new IntegerTopology<CharToken>(c2i, 9999)) { public String toString() { return "}"; } };
public static final CharToken left = new CharToken((char)9998);
public static final CharToken right = new CharToken((char)9999);