1 package edu.berkeley.sbp.chr;
4 import java.lang.reflect.*;
5 import java.lang.ref.*;
6 import edu.berkeley.sbp.*;
7 import edu.berkeley.sbp.util.*;
8 import edu.berkeley.sbp.misc.*;
9 import edu.berkeley.sbp.Input.Location;
11 public class CharInput extends Cartesian.Input<Character> {
12 private final Reader r;
14 public CharInput(String s) { this(new StringReader(s)); }
15 public CharInput(Reader r) { this(r, null); }
16 public CharInput(Reader r, String s) { this.r = new BufferedReader(r); }
17 public CharInput(InputStream i) { this(i, null); }
18 public CharInput(InputStream i, String s) { this(new InputStreamReader(i), s); }
21 private int count = 0;
22 public boolean isCR() { return cr; }
23 public Character next() throws IOException {
26 if (i==-1) { System.err.print("\r...done \r"); return null; }
29 if ((count++) % 100 == 0)
30 System.err.print(" " + count + "\r");