tagger benchmark
[IRC.git] / Robust / src / Benchmarks / mlp / tagger / original-java / doc / notes.txt
diff --git a/Robust/src/Benchmarks/mlp/tagger/original-java/doc/notes.txt b/Robust/src/Benchmarks/mlp/tagger/original-java/doc/notes.txt
new file mode 100755 (executable)
index 0000000..ce232ec
--- /dev/null
@@ -0,0 +1,154 @@
+A. Motivations\r
+A.1    Independence from layout tool\r
+A.2    Ability to produce HTML\r
+A.3    Editable text, email, etc\r
+A.4    Combine compilation and WYSIWYG\r
+A.5    Better automation of cross refs than Frame\r
+A.6    Better typography than TeX\r
+A.7    Ability to use my own PS fonts\r
+A.8    Easy layout of code, which TeX handles badly\r
+\r
+B. Project Plans\r
+B.1    Small initial implementation; iterative extension\r
+B.2 Experiment with JUnit\r
+B.3    Try documentation lite\r
+B.4    Look at conformance issues\r
+\r
+C. Requirements\r
+C.1    Input format\r
+C.1.1  Plain text, platform independent (no Unix/Windows line end problems)\r
+C.1.2  Minimal syntax\r
+C.1.3  Text layout respected for all but EOL, unless //\r
+C.1.4  All keywords introduced by backslash\r
+C.1.5  Kinds of tag\r
+               \section        paragraph tag\r
+               \alpha          special char\r
+               \date                   special\r
+               \bold                   formatting tag  \r
+               kind of tag is resolved by tables loaded from file\r
+C.1.6  Special Tokens\r
+       --, ---, .., ...        dashes and ellipses\r
+       \\              hard line break\r
+       non-breaking hyphen, breaking hyphen, etc?\r
+       en, em space?\r
+       italic correction?\r
+       |                       separator       \r
+       {,}             used for grouping\r
+C.1.6a Printing Characters Used in Special Tokens\r
+       \#,\_,\{,\}     will print as #,_,{,}\r
+       \ is written \backslash\r
+C.1.7  Groupings (obsolete)\r
+       \{x} may replace \x when want to avoid extra space\r
+       eg. \{alpha}_1 to give an alpha with a subscript 1\r
+       but paragraph tags behave in opposite way: consume whitespace that follows, so use \{para} to include whitespace.\r
+C.1.7  Groupings\r
+       abandoned this in favour of simpler scheme with | for separator and {} for logical grouping;\r
+       para tag consumes only first space token, so "\parastyle | hello" to put space before "hello"\r
+C.1.8  Cross References\r
+       \tag{t} marks paragraph with tag t\r
+       \name{s}        makes s the citation string for this para\r
+       \cite{t}        citation of paragraph with tag t\r
+       for autonumbered paras, number is citation string by default\r
+C.1.9  Para breaks\r
+       determined by blank line; mid-line paragraph tag is an error\r
+C.1.10 Spacing\r
+       as given explicitly, except; line breaks and their leading spaces, replaced by single space; first whitespace group (including line break) following paragraph tag.\r
+C.1.11 Italicization\r
+       between underscores\r
+       have this indicate a character style instead? allow override at start of file.\r
+C.1.12 Sub and superscripts (obsolete)\r
+       text_i, text_{abc}\r
+       text^i, text^{abc}\r
+C.1.12 Sub and superscripts\r
+       abandoned _^ scheme because it's more trouble parsing\r
+       may reinstate later\r
+       \sub{...}       puts text between curlies in superscript\r
+C.1.12a        Formatting Tags\r
+       generalize to \bold, \roman, etc\r
+       formatting runs from that point onwards, unless explicit grouping: \bold{abc}def puts abc, but not def in bold.\r
+C.1.13 Comments\r
+# in first column makes line a comment\r
+C.1.14 Quotes\r
+       "hello"\r
+       it's\r
+       '69\r
+C.2    Style File\r
+C.2.1  Next\r
+       specifies default paragraph style order\r
+C.2.2  Character Styles\r
+       assume none for now\r
+C.2.3  Syntax\r
+       In all property files, use property list syntax:\r
+               <style:section><next:indent>...\r
+C.2.4  Autonumbering\r
+C.2.4.1        Star after style name suppresses numbering\r
+               \section*\r
+C.2.4.2        Associate with each style\r
+       series\r
+       level\r
+       separator (comes before extension string for this style's numbering)\r
+       trailer (between number and para)\r
+       leader (before number)\r
+C.2.4.2        Associate a series and a level with each style, eg, <series:A><level:2>\r
+C.2.4.3        Numbering formats:\r
+               0       gives 0,1,2\r
+               1               1,2,3\r
+               a               a,b,c\r
+               A               A,B,C\r
+               i                       i,ii,iii,iv,\r
+               I                       I,II,III,IV\r
+C.2.4.4        Examples\r
+       example:\r
+               <style:section><series:section><level:0><numbering:1><trailer:.\tab>\r
+               <style:subsection><series:section><level:1><numbering:1><separator:.><trailer:\tab>\r
+               <style:subsubsection><series:section><level:3><numbering:a><trailer:\tab>\r
+               gives\r
+               1. First section\r
+               1.1     First subsection\r
+               1.1a    First subsubsection\r
+       example:\r
+               <style:point><leader:\cdot><trailer:\tab>\r
+               gives points preceded by a center dot and a tab\r
+C.2.4.5        Citation\r
+       Numbering string, excluding leader and trailer, becomes default citation string for its para.\r
+\r
+C.3    Stylesheets\r
+At top of file, \stylesheet{filename} sets name of style file\r
+\r
+C.4    Other Features\r
+C.4.1  Wishlist\r
+       Reserved word transformations (eg, bolding)\r
+       Inference rules\r
+C.5    Character File\r
+C.5.1  Must be backend independent\r
+C.5.2  Example\r
+       <name:alpha><font:MathB><index:155>\r
+       \r
+\r
+D.     Design Issues\r
+D.1    General Thoughts\r
+D.1.1  Parsing. Break into tokens consisting of whitespace groups, character (non-whitespace) groups, commands, etc.\r
+D.1.2  Use simple hand-written recursive descent parser\r
+D.1.3  Need to read in style file first so that paragraph style names are recognized.\r
+D.1.4  Build a table and select action by token type\r
+D.1.5  Incorporate trailing space and EOL into single token\r
+D.1.6  Issue: stream or tree based? Probably stream, but have parser recognize close of italics, formattings, etc\r
+D.1.7  For now, don't attempt generic backend. Better to handcraft a backend or two, then generalize.\r
+D.1.8  For references, write out index file and generate warnings for unresolved refs. This allows a single pass.\r
+\r
+D.2    Design\r
+\r
+----------------------------------------------------------------------------------------\r
+Issues\r
+\r
+Grammar must handle\r
+\section*                      generates token parastyle section, numbering suppressed\r
+\sub{...}                      generates tokens begin-sub and end-sub?\r
+quotes?\r
+\r
+\r
+\r
+must have preamble followed by blank line to generate first para\r
+need something to mark end of preamble\r
+how to have action install other actions? will be a comodification.\r
+\r