From: adam Date: Sun, 2 Jul 2006 03:51:56 +0000 (-0400) Subject: checkpoint X-Git-Tag: tag_for_25-Mar~243 X-Git-Url: http://git.megacz.com/?p=sbp.git;a=commitdiff_plain;h=0c29e5bd879906ec108db3216c0f4979ed8315fb checkpoint darcs-hash:20060702035156-5007d-cfd15d52ed7d2e64f49a0b7841a1c3cf65b548ea.gz --- diff --git a/src/edu/berkeley/sbp/Repeat.java b/src/edu/berkeley/sbp/Repeat.java index 89199c5..c85bfc6 100644 --- a/src/edu/berkeley/sbp/Repeat.java +++ b/src/edu/berkeley/sbp/Repeat.java @@ -23,6 +23,7 @@ class Repeat extends Union { } if (zeroOkay) { add(new Sequence.RewritingSequence(tag, new Element[] { }, null)); + //add(new Sequence.Constant.Empty()); // FUGLY add(new Sequence.Singleton(Sequence.many1(e, separator, tag))); } else { diff --git a/src/edu/berkeley/sbp/misc/Demo.java b/src/edu/berkeley/sbp/misc/Demo.java index 3174b62..638bf31 100644 --- a/src/edu/berkeley/sbp/misc/Demo.java +++ b/src/edu/berkeley/sbp/misc/Demo.java @@ -242,6 +242,7 @@ public class Demo { objects[i] = null; } } + System.err.println("input tree: " + t); return plant(objects, map); } } @@ -383,6 +384,7 @@ public class Demo { System.err.println("setting a " + argTypes[i].getName() + " to " + Reflection.show(tgt)); args[i] = tgt; } + System.err.println("invoking " + _method + " with " + Reflection.show(args)); return _method.invoke(null, args); } catch (Exception e) { throw new RuntimeException(e); @@ -419,8 +421,8 @@ public class Demo { } public static class MG { - public static @tag Grammar grammar(Grammar g) { return g; } - public static @nonterminal class Grammar { + //public static @tag Grammar grammar(Grammar g) { return g; } + public static @tag("grammar") class Grammar { public @arg("NonTerminal") NonTerminal[] nonterminals; public String toString() { String ret = "[ "; @@ -471,14 +473,14 @@ public class Demo { public static @tag("^") void caret(String s) { } public static @tag("~") void tilde(El e) { } public static @tag("^^") void doublecaret(El e) { } - public static @tag("(") void subexpression(/*Seq[][]*/Object rhs) { } + public static @tag("(") void subexpression(Seq[][] rhs) { } public static @nonterminal("Word") String word(String s) { return null; } public static @nonterminal("Quoted") String quoted(String s) { return null; } - public static @nonterminal("escaped") String c(char c) { return null; } - public static @tag("\"\"") String emptystring() { return null; } - public static @tag("\r") String lf() { return null; } - public static @tag("\n") String cr() { return null; } + public static @nonterminal("escaped") String c(char c) { return c+""; } + public static @tag("\"\"") String emptystring() { return ""; } + public static @tag("\n") String retur() { return "\n"; } + public static @tag("\r") String lf() { return "\r"; } } } diff --git a/src/edu/berkeley/sbp/misc/MetaGrammar.java b/src/edu/berkeley/sbp/misc/MetaGrammar.java index a284938..826087c 100644 --- a/src/edu/berkeley/sbp/misc/MetaGrammar.java +++ b/src/edu/berkeley/sbp/misc/MetaGrammar.java @@ -210,6 +210,7 @@ public class MetaGrammar extends StringWalker { else if (unwrap) ret = Sequence.unwrap(els, repeatTag(), drops); else if (tag!=null) { ret = resolveTag(tag, bc.currentNonTerminal==null ? null : bc.currentNonTerminal.name, els, labels, drops); + System.err.println("resolvetag " + tag + " => " + ret); } else { int idx = -1; for(int i=0; i