From baee74cbe9714c0bdaa2f39b4523647090cf7ef5 Mon Sep 17 00:00:00 2001 From: adam Date: Wed, 14 Dec 2005 01:08:29 -0500 Subject: [PATCH] checkpoint darcs-hash:20051214060829-5007d-24666eadad9fb5a0d9e236fcd98b82e80422a4c6.gz --- src/edu/berkeley/sbp/misc/RegressionTests.java | 10 ++++------ tests/meta.g | 3 ++- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/edu/berkeley/sbp/misc/RegressionTests.java b/src/edu/berkeley/sbp/misc/RegressionTests.java index ebe29c4..96c2075 100644 --- a/src/edu/berkeley/sbp/misc/RegressionTests.java +++ b/src/edu/berkeley/sbp/misc/RegressionTests.java @@ -97,7 +97,7 @@ public class RegressionTests { System.out.println("\r \r"); } HashSet outs = new HashSet(); - for(String s : output) outs.add(s.trim()); + if (output != null) for(String s : output) outs.add(s.trim()); boolean bad = false; for (Tree r : results) { String s = r.toString().trim(); @@ -123,13 +123,11 @@ public class RegressionTests { public static class TestCaseBuilder extends MetaGrammar { public TestCase[] ts(Object o1, TestCase[] ts, Object o2) { return ts; } public TestCase[] ts(TestCase[] ts) { return ts; } - public TestCase testcase(String input, String[] output, Union grammar) { return new TestCase(input, output, grammar); } + public TestCase testcase(String input, String[] output, Union grammar) { return new TestCase(input, output, grammar); } + public TestCase testcase(String input, Union grammar) { return new TestCase(input, new String[0], grammar); } public MetaGrammar grammar(Object[] o) { return this; } public Object walk(String tag, Object[] args) { - if ("testcase".equals(tag)) { - if (args.length==2) return testcase((String)args[0], new String[0], (Union)args[1]); - return testcase((String)args[0], (String[])args[1], (Union)args[2]); } - else if ("grammar".equals(tag)) return done("s"); + if ("grammar".equals(tag)) return done("s"); else return super.walk(tag, args); } } diff --git a/tests/meta.g b/tests/meta.g index e4a2518..e41b770 100644 --- a/tests/meta.g +++ b/tests/meta.g @@ -57,7 +57,8 @@ w !::= " " | "\r" an ::= [a-zA-Z0-9_] word ::= an++ -quoted ::= "\"" (([~\"\\] | escaped)*) "\"" => "sify" +quoted ::= "\"" (([~\"\\] | escaped)+) "\"" + | "\"\"" => "" escaped ::= "\\n" => "\n" | "\\r" => "\r" | "\\" [~nr] -- 1.7.10.4