]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.16
authorfred <fred>
Wed, 11 Dec 1996 11:49:28 +0000 (11:49 +0000)
committerfred <fred>
Wed, 11 Dec 1996 11:49:28 +0000 (11:49 +0000)
Documentation/inputformat [new file with mode: 0644]

diff --git a/Documentation/inputformat b/Documentation/inputformat
new file mode 100644 (file)
index 0000000..e6c0de2
--- /dev/null
@@ -0,0 +1,62 @@
+General format of a construct:
+
+       BLOCKNAME {  <info to go with this block>   }
+
+Some types allow declarations:
+
+       IDENTIFIER = BLOCKNAME {
+               <info to go with this block>
+       }
+
+       ..
+
+       BLOCKNAME {
+               IDENTIFIER
+               ...
+       }
+
+
+In musicmode, eg,
+
+       ''!c8.-"text"_v
+
+
+a lot of characters parse differently
+than in "command" mode, eg,
+
+       identifier = score { .. }
+
+So you have to signal that to the tokenizer. This is done with
+'$'. '$' is a delimiter, which used by the tokenizer only.
+
+* musicmode: The brace still is used to group grammatical groups.
+* musicmode: "word" are preceded by a '\' (backslash)
+
+This means you can write some stuff in a zillion ways:
+
+1.     $\var = \blockname { ... } $
+
+2.     var = blockname { $ ... $ } 
+
+3.     var = $ $ $\blockname {  ... $ } 
+
+COMMENTS
+
+not really crystallized; you can use '#' or '%' as line comment
+
+OTHER
+
+A correctly parsed .ly does not guarantuee output. A lot (most) of the
+checking is done *after* parsing (some checks are after the break calc!)
+I'm sorry.
+
+The parser's job is to construct appropriate objects. It will *only*
+detect parse errors.
+
+LilyPond first reads 'symbol.ini', which contains declarations crucial
+to proper operation of LilyPond (symbol tables)
+
+This language looks a lot like Rayce's which in turn owes a lot to the
+POVRay raytracer. Now, I know, musictypesetting and Raytracing do not
+necessarily require the same input format, but I was just to lazy to
+make up a new/better input format. Suggestions welcome.