checkpoint
[sbp.git] / src / edu / berkeley / sbp / misc / RegressionTests.java
index 266e8d5..cf0b4e3 100644 (file)
@@ -4,6 +4,7 @@ import java.util.*;
 import edu.berkeley.sbp.*;
 import edu.berkeley.sbp.misc.*;
 import edu.berkeley.sbp.tib.*;
+import edu.berkeley.sbp.chr.*;
 
 public class RegressionTests {
 
@@ -22,16 +23,15 @@ public class RegressionTests {
             //MetaGrammar mg0 = new MetaGrammar();
             //mg0.walk(MetaGrammar.meta);
             //System.out.println(mg0);
-            Tree<String> res = new CharToken.CharToStringParser(MetaGrammar.make()).parse1(new CharToken.Stream(new InputStreamReader(new FileInputStream(s[0]))));
+            Tree<String> res = new CharParser(MetaGrammar.make()).parse(new FileInputStream(s[0])).expand1();
             MetaGrammar mg = (MetaGrammar)new MetaGrammar().walk(res);
             //System.out.println(mg);
             Union meta = mg.done();
             SequenceInputStream sis = new SequenceInputStream(new FileInputStream(s[0]), new FileInputStream(s[1]));
-            res = new CharToken.CharToStringParser(meta).parse1(new CharToken.Stream(new InputStreamReader(sis), "parsing " + s[1] + " using " + s[0]));
+            res = new CharParser(meta).parse(sis).expand1();
             Union testcasegrammar = ((MetaGrammar)new MetaGrammar("ts").walk(res)).done("ts");
             if (testcasegrammar==null) return;
-            CharToken.Stream cs = new CharToken.Stream(new InputStreamReader(new FileInputStream(s[2])), "parsing " + s[2] + " using " + s[1]);
-            Parser parser = new CharToken.CharToStringParser(testcasegrammar);
+            CharParser parser = new CharParser(testcasegrammar);
 
             if (profile) {
                 System.out.println("\nready...");
@@ -39,7 +39,7 @@ public class RegressionTests {
             }
             System.gc();
             long now = System.currentTimeMillis();
-            Forest<String> r2 = parser.parse(cs);
+            Forest<String> r2 = parser.parse(new FileInputStream(s[2]));
             System.out.println();
             System.out.println("elapsed = " + (System.currentTimeMillis()-now) + "ms");
             if (profile) {
@@ -59,14 +59,12 @@ public class RegressionTests {
     }
 
     public static class TestCase {
-        private final Token.Stream inp;
-        public final String input;
+        private final boolean tib;
+        public final String input;        
         public final String[] output;
         public final Union grammar;
         public TestCase(String input, String[] output, Union grammar, boolean tib) throws IOException {
-            this.inp = tib
-                ? new Tib(input)
-                : new CharToken.Stream(new StringReader(input), input.indexOf('\n')==-1?"\""+input+"\": ":"");
+            this.tib = tib;
             this.input = input;
             this.output = output;
             this.grammar = grammar;
@@ -81,7 +79,9 @@ public class RegressionTests {
             Forest<String> res = null;
             ParseFailed pfe = null;
             try {
-                res = new CharToken.CharToStringParser(grammar).parse(inp);
+                res = tib 
+                    ? /*new CharParser(grammar).parse(new Tib(input))*/ null
+                : new CharParser(grammar).parse(new StringReader(input));
             } catch (ParseFailed pf) {
                 pfe = pf;
             }