checkpoint
[sbp.git] / src / edu / berkeley / sbp / misc / CharToken.java
1 package edu.berkeley.sbp.misc;
2 import java.io.*;
3 import java.util.*;
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.*;
9
10 /** an implementation of Token for streams of Java <tt>char</tt> values */
11 public class CharToken {
12
13     public static final Functor<Character,Integer> c2i = new Functor<Character,Integer>() {
14         public Integer invoke(Character c) { return (int)c.charValue(); }
15     };
16
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);
21     
22 }