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
}
}
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 { }
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,
- });
+ new Demo.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);