X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fchr%2FCharParser.java;h=7b6d560e600999f9957f499536a947177c70a078;hp=db235cd1e928682d06313f9e79d21640e15506ff;hb=dc9bb3a45ed306e2e35549076842b3e74efecb48;hpb=6a2ea790f843e058c7e67d3c7d1deebadcfe1fd5 diff --git a/src/edu/berkeley/sbp/chr/CharParser.java b/src/edu/berkeley/sbp/chr/CharParser.java index db235cd..7b6d560 100644 --- a/src/edu/berkeley/sbp/chr/CharParser.java +++ b/src/edu/berkeley/sbp/chr/CharParser.java @@ -1,47 +1,21 @@ +// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license + package edu.berkeley.sbp.chr; import java.io.*; import java.util.*; -import java.lang.reflect.*; -import java.lang.ref.*; import edu.berkeley.sbp.*; import edu.berkeley.sbp.util.*; -import edu.berkeley.sbp.misc.*; -import edu.berkeley.sbp.Input.Location; public class CharParser extends Parser { - public Forest parse(InputStream is) throws IOException, ParseFailed { - return super.parse(new Stream(is)); - } - public Forest parse(Reader r) throws IOException, ParseFailed { - return super.parse(new Stream(r)); - } - public CharParser(Union u) { - super(u, new CharTopology()); - pt.optimize(new CharTopology()); - } - public Forest shiftToken(Character ct, Location loc) { - return Forest.create(loc, ct.toString(), null, false, false); - } + public Forest parse(InputStream is) throws IOException, ParseFailed { return super.parse(new CharInput(is)); } + public Forest parse(Reader r) throws IOException, ParseFailed { return super.parse(new CharInput(r)); } + public Forest parse(String s) throws IOException, ParseFailed { return parse(new StringReader(s)); } + + public CharParser(Union u) { super(u); } - private static class Stream extends CartesianInput { - private final Reader r; - - public Stream(String s) { this(new StringReader(s)); } - public Stream(Reader r) { this(r, null); } - public Stream(Reader r, String s) { this.r = r; } - public Stream(InputStream i) { this(i, null); } - public Stream(InputStream i, String s) { this(new InputStreamReader(i), s); } + public Topology emptyTopology() { return new CharTopology(); } + public Forest shiftToken(Character ct, Input.Region region) { + return Forest.create(region, ct.toString(), null); } - boolean cr = false; - public boolean isCR() { return cr; } - public Character next() throws IOException { - cr = false; - int i = r.read(); - if (i==-1) return null; - char c = (char)i; - cr = c=='\n'; - return c; - } - } }