checkpoint
[sbp.git] / src / edu / berkeley / sbp / tib / TibDoc.java
index 572ccbe..df32b10 100644 (file)
@@ -5,11 +5,13 @@
 package edu.berkeley.sbp.tib;
 import edu.berkeley.sbp.*;
 import edu.berkeley.sbp.misc.*;
+import edu.berkeley.sbp.meta.*;
 import edu.berkeley.sbp.util.*;
 import edu.berkeley.sbp.chr.*;
+import edu.berkeley.sbp.bind.*;
 import java.util.*;
 import java.io.*;
-import static edu.berkeley.sbp.misc.Demo.*;
+import static edu.berkeley.sbp.meta.MetaGrammar.*;
 
 public class TibDoc {
     /*
@@ -331,12 +333,12 @@ toContex ll = prefix ++ (concatMap tl ll) ++ suffix
     public static class TD {
 
         public @bind.as static class Doc extends Dump {
-            public @arg Header head;
-            public @arg Body body;
+            public @bind.arg Header head;
+            public @bind.arg Body body;
         }
 
         public @bind.as static class Header extends Dump {
-            public @arg KeyVal[] attrs;
+            public @bind.arg KeyVal[] attrs;
             // FIXME: it would be nice to be able to
             // void KeyVal(String, String) { ... } imperatively
         }
@@ -351,8 +353,8 @@ toContex ll = prefix ++ (concatMap tl ll) ++ suffix
         }
         
         public @bind.as static class KeyVal extends Dump {
-            public @arg String key;
-            public @arg Object val;
+            public @bind.arg String key;
+            public @bind.arg Object val;
         }
 
         public abstract static class Paragraph extends Dump implements ToHTML { }
@@ -477,45 +479,17 @@ toContex ll = prefix ++ (concatMap tl ll) ++ suffix
     }
 
     public static void main(String[] s) throws Exception {
+            /*
         try {
 
-            Demo.ReflectiveMeta m =
-                new Demo.ReflectiveMeta(TibDoc.TD.class,
-                                        new Class[] {
-                                            TibDoc.TD.Doc.class,
-                                            TibDoc.TD.Header.class,
-                                            TibDoc.TD.Section.class,
-                                            TibDoc.TD.Url.class,
-                                            TibDoc.TD.Host.class,
-                                            TibDoc.TD.Link.class,
-                                            TibDoc.TD.Body.class,
-                                            TibDoc.TD.Paragraph.class,
-                                            TibDoc.TD.P.class,
-                                            TibDoc.TD.HR.class,
-                                            TibDoc.TD.Blockquote.class,
-                                            TibDoc.TD.KeyVal.class,
-                                            TibDoc.TD.Text.class,
-                                            TibDoc.TD.TextWrap.class,
-                                            TibDoc.TD.Verbatim.class,
-                                            TibDoc.TD.Blockquote.class,
-                                            TibDoc.TD.Underline.class,
-                                            TibDoc.TD.Footnote.class,
-                                            TibDoc.TD.TT.class,
-                                            TibDoc.TD.Strikethrough.class,
-                                            TibDoc.TD.Superscript.class,
-                                            TibDoc.TD.Subscript.class,
-                                            TibDoc.TD.Smallcap.class,
-                                            TibDoc.TD.Bold.class,
-                                            TibDoc.TD.Keyword.class,
-                                            TibDoc.TD.Italic.class,
-                                            TibDoc.TD.Today.class,
-                                            TibDoc.TD.LineBreak.class,
-                                            TibDoc.TD.Chars.class,
-                                            TibDoc.TD.Emdash.class,
-                                        });
+               FIXME FIXME
+
+            MetaGrammar.ReflectiveMeta m =
+                new MetaGrammar.ReflectiveMeta(TibDoc.TD.class);
             Tree<String> res = new CharParser(MetaGrammar.make()).parse(new FileInputStream(s[0])).expand1();
             MetaGrammar.Meta.MetaGrammarFile mgf = m.new MetaGrammarFile(res);
             MetaGrammar.BuildContext bc = new MetaGrammar.BuildContext(mgf);
+            
             Union tibgram = mgf.get("s").build(bc);
 
             System.err.println("parsing " + s[1]);
@@ -524,6 +498,9 @@ toContex ll = prefix ++ (concatMap tl ll) ++ suffix
             
             Object result = ((Functor)t.head()).invoke(t);
             System.out.println((TD.Doc)result);
+            */
+
+
             /*
             System.out.println("parsing " + s[0]);
             Tree<String> res = new CharParser(MetaGrammar.make()).parse(new FileInputStream(s[0])).expand1();
@@ -541,7 +518,7 @@ toContex ll = prefix ++ (concatMap tl ll) ++ suffix
             p.println(sb);
             p.flush();
             p.close();
-            */
+
         } catch (Ambiguous a) {
             FileOutputStream fos = new FileOutputStream("/Users/megacz/Desktop/out.dot");
             PrintWriter p = new PrintWriter(new OutputStreamWriter(fos));
@@ -555,6 +532,7 @@ toContex ll = prefix ++ (concatMap tl ll) ++ suffix
         } catch (Exception e) {
             e.printStackTrace();
         }
+            */
     }
 
 }