From: Trevor Daniels Date: Wed, 5 Aug 2009 13:26:39 +0000 (+0100) Subject: Docs: NR Appendices: Add stub for Technical glossary X-Git-Tag: release/2.13.4-1~200 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=bac2bfd192cc4492c87a2df52b1ed2544fcc60af;p=lilypond.git Docs: NR Appendices: Add stub for Technical glossary --- diff --git a/Documentation/notation/notation-appendices.itely b/Documentation/notation/notation-appendices.itely index fe0428ed4e..af9eeacc6f 100644 --- a/Documentation/notation/notation-appendices.itely +++ b/Documentation/notation/notation-appendices.itely @@ -42,6 +42,7 @@ and just before * Text markup list commands:: * List of articulations:: * Percussion notes:: +* Technical glossary:: * All context properties:: * Layout properties:: * Identifiers:: @@ -888,6 +889,135 @@ The following styles may be used for note heads. @lilypondfile[quote]{percussion-chart.ly} +@node Technical glossary +@appendixsec Technical glossary + +A glossary of the technical terms and concepts used internally. + +@menu +* callback:: +* glyph:: +* grob:: +* lexer:: +* output-def:: +* parser:: +* parser variable:: +* prob:: +* simple-closure:: +* smob:: +* stencil:: +@end menu + +@node callback +@unnumberedsubsec callback + +@cindex callback + +A @strong{callback} is a routine, function or method whose reference is +passed as an argument in a call to another routine, so allowing +the called routine to invoke it. The technique enables a lower- +level software layer to call a function defined in a higher +layer. Callbacks are used extensively in LilyPond to permit +user-level Scheme code to define how many low-level actions are +performed. + +@node glyph +@unnumberedsubsec glyph + +@cindex glyph +@cindex font +@cindex typeface + +A @strong{glyph} is a particular graphical representation of a typographic +character, or a combination of two characters formating a ligature. +A set of glyphs with a single style and shape comprise a font, and +a set of fonts covering several styles and sizes comprise a typeface. + +@node grob +@unnumberedsubsec grob + +@cindex grob +@cindex layout objects +@cindex graphical objects + +LilyPond objects which represent items of notation in the printed +output such as note heads, stems, slurs, ties, fingering, clefs, +etc are called @q{Layout objects}, often known as @q{GRaphical +OBjects}, or @strong{grobs} for short. + +@node lexer +@unnumberedsubsec lexer + +@cindex lexer + +A @strong{lexer} is a program which converts a sequence of +characters into a sequence of tokens, a process called lexical +analysis. The LilyPond lexer converts an input @code{.ly} file +into a tokenized file more suited to the next stage of processing, +parsing, see @ref{parser}. + +@node output-def +@unnumberedsubsec output-def +TODO + +@node parser +@unnumberedsubsec parser + +@cindex parser + +A @strong{parser} analyzes the sequence of tokens produced by +a lexer to determine its grammatical structure as defined by the +rules governing the format of an input file. + +@node parser variable +@unnumberedsubsec parser variable + +These are variables defined directly in Scheme. Their direct +use by users is strongly discouraged, because their scoping +semantics can be confusing. + +When the value of such a variable is changed in a @code{.ly} file, +the change is global, and unless explicitly reverted, the new value +will persist to the end of the file, affecting subsequent +@code{\score} blocks as well as external files added with the +@code{\include} command. This can lead to unintended consequences +and in complex typesetting projects the consequent errors can be +difficult to track down. + +LilyPond uses the following parser variables: + +@itemize +@item afterGraceFraction +@item musicQuotes +@item mode +@item output-count +@item output-suffix +@item parseStringResult +@item partCombineListener +@item pitchnames +@item toplevel-bookparts +@item toplevel-scores +@item showLastLength +@item showFirstLength +@end itemize + +@node prob +@unnumberedsubsec prob +TODO + +@node simple-closure +@unnumberedsubsec simple-closure +TODO + +@node smob +@unnumberedsubsec smob +TODO + +@node stencil +@unnumberedsubsec stencil +TODO + + @node All context properties @appendixsec All context properties