Appendices
+* LilyPond grammar::
* GNU Free Documentation License:: License of this document.
@end menu
@include contributor/feta-font.itexi
@include contributor/administration.itexi
+@node LilyPond grammar
+@appendix LilyPond grammar
+
+This appendix contains a description of the LilyPond grammar, as
+output from the parser.
+
+@verbatiminclude ly-grammar.txt
+
@include fdl.itexi
@bye
-
like human language is structured into words and sentences. LilyPond
has a lexer that recognizes tokens (literal numbers, strings, Scheme
elements, pitches and so on), and a parser that understands the syntax,
-@ruser{LilyPond grammar}. Once it knows that a particular syntax rule
+@rcontrib{LilyPond grammar}. Once it knows that a particular syntax rule
applies, it executes actions associated with it.
The hash mark@tie{}@code{#} method of embedding Scheme is a natural fit
* Notation manual tables:: Tables and charts.
* Cheat sheet:: Summary of LilyPond syntax.
-* LilyPond grammar:: Syntax diagram for LilyPond parser.
* GNU Free Documentation License:: License of this document.
* LilyPond command index::
* LilyPond index::
@include notation/cheatsheet.itely
-
-@node LilyPond grammar
-@appendix LilyPond grammar
-
-This appendix contains a description of the LilyPond grammar, as
-output from the parser.
-
-@verbatiminclude ly-grammar.txt
-
-
@include fdl.itexi
@cindex parser
@cindex Bison
+@cindex LilyPond grammar
@cindex grammar for LilyPond
@cindex BNF
message is produced. The syntactic groupings and the rules for
constructing the groupings from their parts for the LilyPond syntax
are defined in @file{lily/parser.yy} and shown in Backus Normal Form
-(BNF) in @ref{LilyPond grammar}. This file is used to build the
-parser during the program build by the parser generator, Bison. It
-is part of the source code and is not included in the LilyPond
-binary installation.
+(BNF) in @rcontrib{LilyPond grammar}. This file is used to build the
+parser during the program build by the parser generator, Bison. It is
+part of the source code and is not included in the LilyPond binary
+installation.
@node parser variable