From: adam Date: Sun, 2 Jul 2006 17:51:20 +0000 (-0400) Subject: checkpoint X-Git-Tag: tag_for_25-Mar~238 X-Git-Url: http://git.megacz.com/?p=sbp.git;a=commitdiff_plain;h=3784457891d6a8b17429a16493cd65501e02e174 checkpoint darcs-hash:20060702175120-5007d-2117cd89d50661da17a605b1387168f928e900a2.gz --- diff --git a/src/edu/berkeley/sbp/misc/Demo.java b/src/edu/berkeley/sbp/misc/Demo.java index c567edd..b3b9f4c 100644 --- a/src/edu/berkeley/sbp/misc/Demo.java +++ b/src/edu/berkeley/sbp/misc/Demo.java @@ -213,7 +213,7 @@ public class Demo { nonterminal n = getNonTerminal(); if (n != null && (n.value().equals(p.nonTerminal) || - (n.value().equals("") && p.nonTerminal.equals(getName())))) + (n.value().equals("") && getName().equals(p.nonTerminal)))) return buildSequence(p)!=null; return false; diff --git a/src/edu/berkeley/sbp/tib/TibDoc.java b/src/edu/berkeley/sbp/tib/TibDoc.java index a86fb2b..26f8174 100644 --- a/src/edu/berkeley/sbp/tib/TibDoc.java +++ b/src/edu/berkeley/sbp/tib/TibDoc.java @@ -44,8 +44,8 @@ public class TibDoc { public Body body; public void toHTML(ToHTML.HTML sb) { sb.tag("html", body); } public static class Header extends HashMap { - public static class kv { public String key; public Text[] val; } - public void attrs(kv[] kvs) { for(int i=0; i"); - return ret.toString(); - } + // void KeyVal(String, String) { ... } imperatively } - public @nonterminal("Body") static class Body { + public @nonterminal static class Body extends Dump { public Section[] sections; // FIXME: it would be nice to be able to - // void kv(String, String) { ... } imperatively - public String toString() { - StringBuffer ret = new StringBuffer(); - ret.append("<"); - for(Object kv : sections) ret .append(kv); - ret.append(">"); - return ret.toString(); - } + // void KeyVal(String, String) { ... } imperatively } - public @nonterminal("Section") static class Section { - public Object @arg header; - public Object[] @arg paragraphs; + public @nonterminal("Section") static class Section extends Dump { + public String header; + public Paragraph[] paragraphs; } - public @nonterminal("kv") static class KV { + public @nonterminal static class KeyVal extends Dump { public @arg("key") String key; public @arg("val") Object val; - public String toString() { return "KV["+key+"="+val+"]"; } + } + + public static class Paragraph extends Dump { } + public @tag("P") static class P extends Paragraph { + Object text; + } + public @tag("HR") static class HR extends Paragraph { } + public @tag("Blockquote") static class Blockquote extends Paragraph { + Object text; } } @@ -380,7 +377,11 @@ toContex ll = prefix ++ (concatMap tl ll) ++ suffix TibDoc.TD.Header.class, TibDoc.TD.Section.class, TibDoc.TD.Body.class, - TibDoc.TD.KV.class + TibDoc.TD.Paragraph.class, + TibDoc.TD.P.class, + TibDoc.TD.HR.class, + TibDoc.TD.Blockquote.class, + TibDoc.TD.KeyVal.class }); Tree res = new CharParser(MetaGrammar.make()).parse(new FileInputStream(s[0])).expand1(); MetaGrammar.Meta.MetaGrammarFile mgf = m.new MetaGrammarFile(res); diff --git a/src/edu/berkeley/sbp/util/Reflection.java b/src/edu/berkeley/sbp/util/Reflection.java index c404ab5..247652a 100644 --- a/src/edu/berkeley/sbp/util/Reflection.java +++ b/src/edu/berkeley/sbp/util/Reflection.java @@ -51,28 +51,28 @@ public final class Reflection { return (Object[])Array.newInstance(c, i); } - public static String indent(String s, int indent) { - if (s.indexOf('\n')==-1) return s; - StringBuffer ret = new StringBuffer(); - for(int i=0; i HR:: { "---" "-"* } - > { P:: t:text } + > P:: { text } onums = nums !(". "|") ") any = ~[]*