1 package edu.berkeley.sbp.misc;
4 import java.lang.reflect.*;
5 import java.lang.ref.*;
6 import edu.berkeley.sbp.*;
7 import edu.berkeley.sbp.Token.Location;
8 import edu.berkeley.sbp.util.*;
10 /** an implementation of Token for streams of Java <tt>char</tt> values */
11 public class CharToken {
13 public static final Functor<Character,Integer> c2i = new Functor<Character,Integer>() {
14 public Integer invoke(Character c) { return (int)c.charValue(); }
17 public static final Atom leftBrace = new CharRange(new IntegerTopology<Character>(c2i, 9998)) { public String toString() { return "{"; } };
18 public static final Atom rightBrace = new CharRange(new IntegerTopology<Character>(c2i, 9999)) { public String toString() { return "}"; } };
19 public static final Character left = new Character((char)9998);
20 public static final Character right = new Character((char)9999);