X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FRegressionTests.java;h=8af63a2651bc87838f2f4321d79832b78618dfbd;hb=76038cc31d71c6e7c0e6352f9c21ebd320e5c0cc;hp=beb71107dbd80b1e95d4279091f61398e6708386;hpb=d5e1e502d49f6d59bc912f12522d4ac1e2ac7d87;p=sbp.git diff --git a/src/edu/berkeley/sbp/misc/RegressionTests.java b/src/edu/berkeley/sbp/misc/RegressionTests.java index beb7110..8af63a2 100644 --- a/src/edu/berkeley/sbp/misc/RegressionTests.java +++ b/src/edu/berkeley/sbp/misc/RegressionTests.java @@ -26,12 +26,11 @@ public class RegressionTests { //mg0.walk(MetaGrammar.meta); //System.out.println(mg0); Tree 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(); + Union meta = MetaGrammar.make(); SequenceInputStream sis = new SequenceInputStream(new FileInputStream(s[0]), new FileInputStream(s[1])); res = new CharParser(meta).parse(sis).expand1(); - Union testcasegrammar = ((MetaGrammar)new MetaGrammar("ts").walk(res)).done("ts"); + Union testcasegrammar = MetaGrammar.make(res, "ts"); if (testcasegrammar==null) return; CharParser parser = new CharParser(testcasegrammar); @@ -137,19 +136,18 @@ public class RegressionTests { } } - public static class TestCaseBuilder extends MetaGrammar { + public static class TestCaseBuilder extends StringWalker { public Object walk(Tree tree) { try { - if ("grammar".equals(tree.head())) { walkChildren(tree); return done("s"); } - else if ("output".equals(tree.head())) return string(tree.children()); - else if ("input".equals(tree.head())) return string(tree.children()); + if ("grammar".equals(tree.head())) return MetaGrammar.make(tree, "s"); + else if ("output".equals(tree.head())) return MetaGrammar.string(tree.children()); + else if ("input".equals(tree.head())) return MetaGrammar.string(tree.children()); else if ("javacase".equals(tree.head()) || "tibcase".equals(tree.head()) || "testcase".equals(tree.head())) { - String input = string(tree.child(0)); + String input = MetaGrammar.string(tree.child(0)); String[] output = tree.numChildren()>2 ? ((String[])walk(tree, 1)) : new String[0]; boolean tib = "tibcase".equals(tree.head()); boolean jav = "javacase".equals(tree.head()); - MetaGrammar gram = jav ? new JavaGrammar() : tib ? /*new Tib.Grammar()*/null : new MetaGrammar(); - Union grammar = (Union)((MetaGrammar)(gram.walk(tree, tree.numChildren()-1))).done("s"); + Union grammar = MetaGrammar.make(tree.child(tree.numChildren()-1), "s"); return new TestCase(input, output, grammar, tib, jav); } else if ("ts".equals(tree.head())) return walk(tree, 0); else return super.walk(tree); @@ -158,7 +156,7 @@ public class RegressionTests { } } } - + /* public static class JavaGrammar extends MetaGrammar { public Object convertLabel(String label) { return new ClassMark(label); } public Object convertFieldLabel(String label) { return new FieldMark(label); } @@ -247,7 +245,7 @@ public class RegressionTests { } } - + */ private static String pad(int i,String s) { return s.length() >= i ? s : pad(i-1,s)+" "; } }