checkpoint
[sbp.git] / src / edu / berkeley / sbp / misc / Demo.java
index 3174b62..638bf31 100644 (file)
@@ -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"; }
     }
 
 }