/** an implementation of Token for streams of Java <tt>char</tt> values */
public class CharToken {
- public static final Functor<CharToken,Integer> c2i = new Functor<CharToken,Integer>() {
- public Integer invoke(CharToken c) { return new Integer(c.c); }
+ public static final Functor<Character,Integer> c2i = new Functor<Character,Integer>() {
+ public Integer invoke(Character c) { return (int)c.charValue(); }
};
- 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);
+ public static final Atom leftBrace = new CharRange(new IntegerTopology<Character>(c2i, 9998)) { public String toString() { return "{"; } };
+ public static final Atom rightBrace = new CharRange(new IntegerTopology<Character>(c2i, 9999)) { public String toString() { return "}"; } };
+ public static final Character left = new Character((char)9998);
+ public static final Character right = new Character((char)9999);
- // Private //////////////////////////////////////////////////////////////////////////////
-
- public final char c;
- public CharToken(char c) { this.c = c; }
- public String result() { return c+""; }
- public String toString() { return "\'"+StringUtil.escapify(c+"")+"\'"; }
-
- //////////////////////////////////////////////////////////////////////////////////////////
-
- public int toInt() { return (int)c; }
-
}