A. LilyPond grammar
This appendix contains a description of the LilyPond grammar, as
output from the parser.
Grammar
1 start_symbol: lilypond
3 start_symbol: "#{" embedded_lilypond
4 lilypond: /* empty */
5 | lilypond toplevel_expression
6 | lilypond assignment
7 | lilypond error
8 | lilypond "\version-error"
10 toplevel_expression: lilypond_header
11 | book_block
12 | bookpart_block
13 | score_block
14 | composite_music
15 | full_markup
16 | full_markup_list
17 | SCM_TOKEN
18 | embedded_scm_active
19 | output_def
20 embedded_scm_bare: SCM_TOKEN
21 | SCM_IDENTIFIER
22 embedded_scm_active: SCM_IDENTIFIER
23 | scm_function_call
24 embedded_scm_bare_arg: SCM_ARG
25 | SCM_TOKEN
26 | FRACTION
27 | full_markup_list
28 | context_modification
29 | score_block
30 | context_def_spec_block
31 | book_block
32 | bookpart_block
33 | output_def
34 embedded_scm: embedded_scm_bare
35 | scm_function_call
36 embedded_scm_arg: embedded_scm_bare_arg
37 | scm_function_call
38 | music_assign
39 scm_function_call: SCM_FUNCTION function_arglist
40 embedded_lilypond: /* empty */
41 | identifier_init
42 | music_embedded music_embedded music_list
43 | error
44 | "\version-error" embedded_lilypond
45 lilypond_header_body: /* empty */
46 | lilypond_header_body assignment
47 | lilypond_header_body embedded_scm
48 lilypond_header: "\header" '{' lilypond_header_body '}'
49 assignment_id: STRING
50 assignment: assignment_id '=' identifier_init
51 | assignment_id property_path '=' identifier_init
52 | assignment_id '.' property_path '=' identifier_init
53 identifier_init: score_block
54 | book_block
55 | bookpart_block
56 | output_def
57 | context_def_spec_block
58 | music_assign
59 | post_event_nofinger post_events
60 | number_expression
61 | FRACTION
62 | string
63 | embedded_scm
64 | full_markup_list
65 | context_modification
66 context_def_spec_block: "\context" '{' context_def_spec_body '}'
67 context_mod_arg: embedded_scm
69 context_mod_arg: composite_music
70 context_mod_embedded: context_mod_arg
71 context_def_spec_body: /* empty */
72 | CONTEXT_DEF_IDENTIFIER
73 | context_def_spec_body context_mod
74 | context_def_spec_body context_modification
75 | context_def_spec_body context_mod_embedded
76 book_block: "\book" '{' book_body '}'
77 book_body: /* empty */
78 | BOOK_IDENTIFIER
79 | book_body paper_block
80 | book_body bookpart_block
81 | book_body score_block
82 | book_body composite_music
83 | book_body full_markup
84 | book_body full_markup_list
85 | book_body SCM_TOKEN
86 | book_body embedded_scm_active
88 book_body: book_body lilypond_header
89 | book_body error
90 bookpart_block: "\bookpart" '{' bookpart_body '}'
91 bookpart_body: /* empty */
92 | BOOK_IDENTIFIER
93 | bookpart_body paper_block
94 | bookpart_body score_block
95 | bookpart_body composite_music
96 | bookpart_body full_markup
97 | bookpart_body full_markup_list
98 | bookpart_body SCM_TOKEN
99 | bookpart_body embedded_scm_active
101 bookpart_body: bookpart_body lilypond_header
102 | bookpart_body error
103 score_block: "\score" '{' score_body '}'
104 score_body: music
105 | embedded_scm_active
107 score_body: score_body lilypond_header
108 | score_body output_def
109 | score_body error
110 paper_block: output_def
111 output_def: output_def_body '}'
112 output_def_head: "\paper"
113 | "\midi"
114 | "\layout"
115 output_def_head_with_mode_switch: output_def_head
116 music_or_context_def: music_arg
117 | context_def_spec_block
118 output_def_body: output_def_head_with_mode_switch '{'
119 | output_def_head_with_mode_switch
'{'
OUTPUT_DEF_IDENTIFIER
120 | output_def_body assignment
121 | output_def_body embedded_scm
123 output_def_body: output_def_body music_or_context_def
124 | output_def_body error
125 tempo_event: "\tempo" steno_duration '=' tempo_range
126 | "\tempo" scalar steno_duration '=' tempo_range
127 | "\tempo" scalar
128 music_list: /* empty */
129 | music_list music_embedded
130 | music_list error
131 braced_music_list: '{' music_list '}'
132 music: music_arg
133 | lyric_element_music
134 music_embedded: music
135 | music_embedded_backup
136 | music_embedded_backup
"(backed-up?)"
lyric_element_music
137 music_embedded_backup: embedded_scm
138 music_arg: simple_music
139 | composite_music
140 music_assign: simple_music
141 | composite_music
142 repeated_music: "\repeat" simple_string unsigned_number music
143 | REPEAT_IDENTIFIER music
144 | "\repeat"
simple_string
unsigned_number
music
"\alternative"
braced_music_list
145 | REPEAT_IDENTIFIER
music
"\alternative"
braced_music_list
146 sequential_music: "\sequential" braced_music_list
147 | braced_music_list
148 simultaneous_music: "\simultaneous" braced_music_list
149 | "<<" music_list ">>"
150 simple_music: event_chord
151 | music_property_def
152 | context_change
154 context_modification: "\with" '{' context_mod_list '}'
155 | "\with" CONTEXT_MOD_IDENTIFIER
156 | CONTEXT_MOD_IDENTIFIER
157 | "\with" context_modification_arg
158 context_modification_arg: embedded_scm_closed
159 | MUSIC_IDENTIFIER
160 optional_context_mod: /* empty */
161 | context_modification
162 context_mod_list: /* empty */
163 | context_mod_list context_mod
164 | context_mod_list CONTEXT_MOD_IDENTIFIER
165 | context_mod_list context_mod_embedded
166 composite_music: complex_music
167 | music_bare
168 closed_music: music_bare
169 | complex_music_prefix closed_music
170 | music_function_call_closed
171 music_bare: mode_changed_music
172 | MUSIC_IDENTIFIER
173 | grouped_music_list
174 grouped_music_list: simultaneous_music
175 | sequential_music
176 function_arglist_nonbackup_common: "optional?"
"scheme?"
function_arglist_nonbackup
post_event_nofinger
177 | "optional?"
"scheme?"
function_arglist_nonbackup
'-'
UNSIGNED
178 | "optional?"
"scheme?"
function_arglist_nonbackup
'-'
REAL
179 | "optional?"
"scheme?"
function_arglist_nonbackup
'-'
NUMBER_IDENTIFIER
180 function_arglist_closed_nonbackup: function_arglist_nonbackup_common
181 | function_arglist_closed_common
182 | "optional?"
"scheme?"
function_arglist_nonbackup
embedded_scm_arg_closed
183 | "optional?"
"scheme?"
function_arglist_nonbackup
bare_number_closed
184 | "optional?"
"scheme?"
function_arglist_nonbackup
SCM_IDENTIFIER
185 | "optional?"
"scheme?"
function_arglist_nonbackup
STRING
186 | "optional?"
"scheme?"
function_arglist_nonbackup
full_markup
187 symbol_list_arg: SYMBOL_LIST
188 | SYMBOL_LIST '.' symbol_list_rev
189 symbol_list_rev: symbol_list_part
190 | symbol_list_rev '.' symbol_list_part
191 symbol_list_part: symbol_list_element
192 symbol_list_element: STRING
193 | embedded_scm_bare
194 function_arglist_nonbackup: function_arglist_nonbackup_common
195 | function_arglist_common
196 | "optional?"
"scheme?"
function_arglist_nonbackup
embedded_scm_arg
197 | "optional?"
"scheme?"
function_arglist_nonbackup
bare_number_common
198 | function_arglist_nonbackup_reparse
"(reparsed?)"
duration_length
199 | function_arglist_nonbackup_reparse
"(reparsed?)"
bare_number_common
200 | function_arglist_nonbackup_reparse
"(reparsed?)"
SCM_ARG
201 | function_arglist_nonbackup_reparse
"(reparsed?)"
lyric_element_music
202 | function_arglist_nonbackup_reparse
"(reparsed?)"
symbol_list_arg
203 function_arglist_nonbackup_reparse: "optional?"
"scheme?"
function_arglist_nonbackup
SCM_IDENTIFIER
204 | "optional?"
"scheme?"
function_arglist_nonbackup
STRING
205 | "optional?"
"scheme?"
function_arglist_nonbackup
full_markup
206 | "optional?"
"scheme?"
function_arglist_nonbackup
UNSIGNED
207 | "optional?"
"scheme?"
function_arglist_nonbackup
DURATION_IDENTIFIER
208 function_arglist_backup: function_arglist_common
209 | "optional?"
"scheme?"
function_arglist_backup
embedded_scm_arg_closed
210 | "optional?"
"scheme?"
function_arglist_backup
"\repeat"
simple_string
unsigned_number
211 | "optional?"
"scheme?"
function_arglist_backup
chord_body
212 | "optional?"
"scheme?"
function_arglist_backup
post_event_nofinger
213 | "optional?"
"scheme?"
function_arglist_backup
full_markup
214 | "optional?"
"scheme?"
function_arglist_backup
UNSIGNED
215 | "optional?"
"scheme?"
function_arglist_backup
REAL
216 | "optional?"
"scheme?"
function_arglist_backup
NUMBER_IDENTIFIER
217 | "optional?"
"scheme?"
function_arglist_backup
'-'
UNSIGNED
218 | "optional?"
"scheme?"
function_arglist_backup
'-'
REAL
219 | "optional?"
"scheme?"
function_arglist_backup
'-'
NUMBER_IDENTIFIER
220 | "optional?"
"scheme?"
function_arglist_backup
PITCH_IDENTIFIER
221 | "optional?"
"scheme?"
function_arglist_backup
NOTENAME_PITCH
222 | "optional?"
"scheme?"
function_arglist_backup
TONICNAME_PITCH
223 | "optional?"
"scheme?"
function_arglist_backup
DURATION_IDENTIFIER
224 | "optional?"
"scheme?"
function_arglist_backup
SCM_IDENTIFIER
225 | "optional?"
"scheme?"
function_arglist_backup
STRING
226 | function_arglist_backup
"(reparsed?)"
music_assign
227 | function_arglist_backup
"(reparsed?)"
pitch_arg
228 | function_arglist_backup
"(reparsed?)"
bare_number_common
229 | function_arglist_backup
"(reparsed?)"
duration_length
230 | function_arglist_backup
"(reparsed?)"
symbol_list_arg
231 function_arglist: function_arglist_nonbackup
232 | "optional?"
"scheme?"
function_arglist_skip_nonbackup
"\default"
233 function_arglist_skip_nonbackup: function_arglist_nonbackup
234 | "optional?"
"scheme?"
function_arglist_skip_nonbackup
235 function_arglist_common: EXPECT_NO_MORE_ARGS
236 | "scheme?"
function_arglist_optional
embedded_scm_arg
237 | "scheme?"
function_arglist_optional
bare_number_common
238 | "scheme?"
function_arglist_optional
post_event_nofinger
239 | "scheme?"
function_arglist_optional
'-'
NUMBER_IDENTIFIER
240 | function_arglist_common_reparse
"(reparsed?)"
SCM_ARG
241 | function_arglist_common_reparse
"(reparsed?)"
lyric_element_music
242 | function_arglist_common_reparse
"(reparsed?)"
bare_number_common
243 | function_arglist_common_reparse
"(reparsed?)"
duration_length
244 | function_arglist_common_reparse
"(reparsed?)"
symbol_list_arg
245 function_arglist_common_reparse: "scheme?"
function_arglist_optional
SCM_IDENTIFIER
246 | "scheme?"
function_arglist_optional
STRING
247 | "scheme?"
function_arglist_optional
full_markup
248 | "scheme?"
function_arglist_optional
UNSIGNED
249 | "scheme?"
function_arglist_optional
DURATION_IDENTIFIER
250 | "scheme?"
function_arglist_optional
'-'
UNSIGNED
251 | "scheme?"
function_arglist_optional
'-'
REAL
252 function_arglist_closed: function_arglist_closed_nonbackup
253 | "optional?"
"scheme?"
function_arglist_skip_nonbackup
"\default"
254 function_arglist_closed_common: EXPECT_NO_MORE_ARGS
255 | "scheme?"
function_arglist_optional
embedded_scm_arg_closed
256 | "scheme?"
function_arglist_optional
bare_number_common_closed
257 | "scheme?"
function_arglist_optional
'-'
NUMBER_IDENTIFIER
258 | "scheme?"
function_arglist_optional
post_event_nofinger
259 | function_arglist_common_reparse
"(reparsed?)"
SCM_ARG
260 | function_arglist_common_reparse
"(reparsed?)"
bare_number_common_closed
261 | function_arglist_common_reparse
"(reparsed?)"
symbol_list_arg
262 function_arglist_optional: function_arglist_backup
263 | "optional?"
"scheme?"
function_arglist_skip_backup
"\default"
264 | function_arglist_skip_backup "(backed-up?)"
265 function_arglist_skip_backup: function_arglist_backup
266 | "optional?"
"scheme?"
function_arglist_skip_backup
267 embedded_scm_closed: embedded_scm_bare
268 | scm_function_call_closed
269 embedded_scm_arg_closed: embedded_scm_bare_arg
270 | scm_function_call_closed
271 | closed_music
272 scm_function_call_closed: SCM_FUNCTION function_arglist_closed
273 music_function_call: MUSIC_FUNCTION function_arglist
274 optional_id: /* empty */
275 | '=' simple_string
276 complex_music: music_function_call
277 | repeated_music
278 | re_rhythmed_music
279 | complex_music_prefix music
280 complex_music_prefix: "\context"
symbol
optional_id
optional_context_mod
281 | "\new" symbol optional_id optional_context_mod
282 mode_changed_music: mode_changing_head grouped_music_list
283 | mode_changing_head_with_context
optional_context_mod
grouped_music_list
284 mode_changing_head: "\notemode"
285 | "\drummode"
286 | "\figuremode"
287 | "\chordmode"
288 | "\lyricmode"
289 mode_changing_head_with_context: "\drums"
290 | "\figures"
291 | "\chords"
292 | "\lyrics"
294 new_lyrics: "\addlyrics" composite_music
296 new_lyrics: new_lyrics "\addlyrics" 0 composite_music
297 re_rhythmed_music: composite_music new_lyrics
299 re_rhythmed_music: "\lyricsto" simple_string 1 music
300 context_change: "\change" symbol '=' simple_string
301 property_path: symbol_list_rev
302 | symbol_list_rev property_path
303 property_operation: symbol '=' scalar
304 | "\unset" symbol
305 | "\override" property_path '=' scalar
306 | "\revert" revert_arg
307 revert_arg: revert_arg_backup "(backed-up?)" symbol_list_arg
308 revert_arg_backup: revert_arg_part
309 revert_arg_part: symbol_list_part
310 | revert_arg_backup
"(backed-up?)"
SCM_ARG
'.'
symbol_list_part
311 | revert_arg_backup
"(backed-up?)"
SCM_ARG
symbol_list_part
312 context_def_mod: "\consists"
313 | "\remove"
314 | "\accepts"
315 | "\defaultchild"
316 | "\denies"
317 | "\alias"
318 | "\type"
319 | "\description"
320 | "\name"
321 context_mod: property_operation
322 | context_def_mod STRING
323 | context_def_mod embedded_scm
324 grob_prop_spec: symbol_list_rev
325 grob_prop_path: grob_prop_spec
326 | grob_prop_spec property_path
327 context_prop_spec: symbol_list_rev
328 simple_music_property_def: "\override" grob_prop_path '=' scalar
329 | "\revert" simple_revert_context revert_arg
330 | "\set" context_prop_spec '=' scalar
331 | "\unset" context_prop_spec
332 simple_revert_context: symbol_list_part
333 music_property_def: simple_music_property_def
334 string: STRING
335 | full_markup
336 simple_string: STRING
337 | embedded_scm_bare
338 symbol: STRING
339 | embedded_scm_bare
340 scalar: embedded_scm_arg
341 | SCM_IDENTIFIER
342 | bare_number
343 | '-' bare_number
344 | STRING
345 | full_markup
346 event_chord: simple_element post_events
347 | simple_chord_elements post_events
348 | CHORD_REPETITION optional_notemode_duration post_events
349 | MULTI_MEASURE_REST optional_notemode_duration post_events
350 | command_element
351 | note_chord_element
352 note_chord_element: chord_body optional_notemode_duration post_events
353 chord_body: "<" chord_body_elements ">"
354 | CHORD_BODY_IDENTIFIER
355 chord_body_elements: /* empty */
356 | chord_body_elements chord_body_element
357 chord_body_element: pitch
exclamations
questions
octave_check
post_events
358 | DRUM_PITCH post_events
359 | music_function_chord_body
360 music_function_chord_body: music_function_call
361 | MUSIC_IDENTIFIER
362 music_function_call_closed: MUSIC_FUNCTION function_arglist_closed
363 event_function_event: EVENT_FUNCTION function_arglist_closed
364 command_element: command_event
365 command_event: tempo_event
366 post_events: /* empty */
367 | post_events post_event
368 post_event_nofinger: direction_less_event
369 | script_dir music_function_call_closed
370 | "--"
371 | "__"
372 | script_dir direction_reqd_event
373 | script_dir direction_less_event
374 | '^' fingering
375 | '_' fingering
376 post_event: post_event_nofinger
377 | '-' fingering
378 string_number_event: E_UNSIGNED
379 direction_less_event: string_number_event
380 | EVENT_IDENTIFIER
381 | tremolo_type
382 | event_function_event
383 direction_reqd_event: gen_text_def
384 | script_abbreviation
385 octave_check: /* empty */
386 | '=' quotes
387 quotes: /* empty */
388 | sub_quotes
389 | sup_quotes
390 sup_quotes: '''
391 | sup_quotes '''
392 sub_quotes: ','
393 | sub_quotes ','
394 steno_pitch: NOTENAME_PITCH quotes
395 steno_tonic_pitch: TONICNAME_PITCH quotes
396 pitch: steno_pitch
397 | PITCH_IDENTIFIER quotes
398 pitch_arg: PITCH_ARG quotes
399 gen_text_def: full_markup
400 | STRING
401 | embedded_scm_closed
402 fingering: UNSIGNED
403 script_abbreviation: '^'
404 | '+'
405 | '-'
406 | '!'
407 | ">"
408 | '.'
409 | '_'
410 script_dir: '_'
411 | '^'
412 | '-'
413 duration_length: multiplied_duration
414 maybe_notemode_duration: /* empty */
415 | multiplied_duration
416 optional_notemode_duration: maybe_notemode_duration
417 steno_duration: UNSIGNED dots
418 | DURATION_IDENTIFIER dots
419 multiplied_duration: steno_duration
420 | multiplied_duration '*' UNSIGNED
421 | multiplied_duration '*' FRACTION
422 dots: /* empty */
423 | dots '.'
424 tremolo_type: ':'
425 | ':' UNSIGNED
426 bass_number: UNSIGNED
427 | STRING
428 | full_markup
429 | embedded_scm_bare
430 figured_bass_alteration: '-'
431 | '+'
432 | '!'
433 bass_figure: "_"
434 | bass_number
435 | bass_figure ']'
436 | bass_figure figured_bass_alteration
437 | bass_figure figured_bass_modification
438 figured_bass_modification: "\+"
439 | "\!"
440 | '/'
441 | "\"
442 br_bass_figure: bass_figure
443 | '[' bass_figure
444 figure_list: /* empty */
445 | figure_list br_bass_figure
446 figure_spec: FIGURE_OPEN figure_list FIGURE_CLOSE
447 optional_rest: /* empty */
448 | "\rest"
449 simple_element: pitch
exclamations
questions
octave_check
maybe_notemode_duration
optional_rest
450 | DRUM_PITCH optional_notemode_duration
451 | RESTNAME optional_notemode_duration
452 simple_chord_elements: new_chord
453 | figure_spec optional_notemode_duration
454 lyric_element: full_markup
455 | STRING
456 | LYRIC_ELEMENT
457 lyric_element_music: lyric_element
optional_notemode_duration
post_events
458 new_chord: steno_tonic_pitch maybe_notemode_duration
459 | steno_tonic_pitch
optional_notemode_duration
chord_separator
chord_items
460 chord_items: /* empty */
461 | chord_items chord_item
462 chord_separator: ":"
463 | "^"
464 | "/" steno_tonic_pitch
465 | "/+" steno_tonic_pitch
466 chord_item: chord_separator
467 | step_numbers
468 | CHORD_MODIFIER
469 step_numbers: step_number
470 | step_numbers '.' step_number
471 step_number: UNSIGNED
472 | UNSIGNED '+'
473 | UNSIGNED "-"
474 tempo_range: unsigned_number
475 | unsigned_number '-' unsigned_number
476 number_expression: number_expression '+' number_term
477 | number_expression '-' number_term
478 | number_term
479 number_term: number_factor
480 | number_factor '*' number_factor
481 | number_factor '/' number_factor
482 number_factor: '-' number_factor
483 | bare_number
484 bare_number_common: bare_number_common_closed
485 | REAL NUMBER_IDENTIFIER
486 bare_number_common_closed: REAL
487 | NUMBER_IDENTIFIER
488 bare_number: bare_number_common
489 | UNSIGNED
490 | UNSIGNED NUMBER_IDENTIFIER
491 bare_number_closed: UNSIGNED
492 | bare_number_common_closed
493 unsigned_number: UNSIGNED
494 | NUMBER_IDENTIFIER
495 | embedded_scm
496 exclamations: /* empty */
497 | exclamations '!'
498 questions: /* empty */
499 | questions '?'
501 full_markup_list: "\markuplist" 2 markup_list
503 full_markup: "\markup" 3 markup_top
504 markup_top: markup_list
505 | markup_head_1_list simple_markup
506 | simple_markup
508 markup_scm: embedded_scm_bare 4 "(backed-up?)"
509 markup_list: markup_composed_list
510 | markup_uncomposed_list
511 markup_uncomposed_list: markup_braced_list
512 | markup_command_list
513 | markup_scm MARKUPLIST_IDENTIFIER
514 markup_composed_list: markup_head_1_list markup_uncomposed_list
515 markup_braced_list: '{' markup_braced_list_body '}'
516 markup_braced_list_body: /* empty */
517 | markup_braced_list_body markup
518 | markup_braced_list_body markup_list
519 markup_command_list: MARKUP_LIST_FUNCTION markup_command_list_arguments
520 markup_command_basic_arguments: "markup-list?"
markup_command_list_arguments
markup_list
521 | "scheme?"
markup_command_list_arguments
embedded_scm_closed
522 | EXPECT_NO_MORE_ARGS
523 markup_command_list_arguments: markup_command_basic_arguments
524 | "markup?"
markup_command_list_arguments
markup
525 markup_head_1_item: MARKUP_FUNCTION
"markup?"
markup_command_list_arguments
526 markup_head_1_list: markup_head_1_item
527 | markup_head_1_list markup_head_1_item
528 simple_markup: STRING
530 simple_markup: "\score" 5 '{' score_body '}'
531 | MARKUP_FUNCTION markup_command_basic_arguments
532 | markup_scm MARKUP_IDENTIFIER
533 markup: markup_head_1_list simple_markup
534 | simple_markup
Terminals, with rules where they appear
205 206 207 209 210 211 212 213 214 215 216 217 218 219 220 221
205 206 207 209 210 211 212 213 214 215 216 217 218 219 220 221
222 223 224 225 232 234 236 237 238 239 245 246 247 248 249 250
222 223 224 225 232 234 253 263 266
242 243 244 259 260 261
251 253 255 256 257 258 263 266 521
473 489 490 491 493
475 477 482
528
"#{" (339) 3
"(backed-up?)" (334) 136 264 307 310 311 508
"(reparsed?)" (335) 198 199 200 201 202 226 227 228 229 230 240 241
"-" (319) 473
"--" (266) 370
"/" (320) 464
"/+" (316) 465
":" (318) 462
"<" (321) 353
"<<" (323) 149
">" (322) 353 407
">>" (324) 149
"\!" (326) 439
"\" (325) 441
"\+" (327) 438
"\accepts" (274) 314
"\addlyrics" (263) 294 296
"\alias" (275) 317
"\alternative" (261) 144 145
"\book" (276) 76
"\bookpart" (277) 90
"\change" (278) 300
"\chordmode" (279) 287
"\chords" (280) 291
"\consists" (281) 312
"\context" (282) 66 280
"\default" (283) 232 253 263
"\defaultchild" (284) 315
"\denies" (285) 316
"\description" (286) 319
"\drummode" (287) 285
"\drums" (288) 289
"\figuremode" (289) 286
"\figures" (290) 290
"\header" (291) 48
"\layout" (293) 114
"\lyricmode" (294) 288
"\lyrics" (295) 292
"\lyricsto" (296) 299
"\markup" (297) 503
"\markuplist" (298) 501
"\midi" (299) 113
"\name" (300) 320
"\new" (315) 281
"\notemode" (301) 284
"\override" (302) 305 328
"\paper" (303) 112
"\remove" (304) 313
"\repeat" (260) 142 144 210
"\rest" (305) 448
"\revert" (306) 306 329
"\score" (307) 103 530
"\sequential" (308) 146
"\set" (309) 330
"\simultaneous" (310) 148
"\tempo" (311) 125 126 127
"\type" (312) 318
"\unset" (313) 304 331
"\version-error" (292) 8 44
"\with" (314) 154 155 157
"^" (317) 463
"_" (330) 433
"__" (265) 371
"end of input" (0) 0
"markup-list?" (336) 520
"markup?" (332) 524 525
"optional?" (337) 176 177 178 179 182 183 184 185 186 196 197 203 204
"scheme?" (333) 176 177 178 179 182 183 184 185 186 196 197 203 204
'!' (33) 406 432 497
''' (39) 390 391
'*' (42) 420 421 480
'+' (43) 404 431 472 476
',' (44) 392 393
'-' (45) 177 178 179 217 218 219 239 250 251 257 343 377 405 412 430
'.' (46) 52 188 190 310 408 423 470
'/' (47) 440 481
':' (58) 424 425
'=' (61) 50 51 52 125 126 275 300 303 305 328 330 386
'?' (63) 499
'[' (91) 443
']' (93) 435
'^' (94) 374 403 411
'_' (95) 375 409 410
'{' (123) 48 66 76 90 103 118 119 131 154 515 530
'}' (125) 48 66 76 90 103 111 131 154 515 530
BOOK_IDENTIFIER (340) 78 92
CHORD_BODY_IDENTIFIER (341) 354
CHORD_MODIFIER (342) 468
CHORD_REPETITION (343) 348
COMPOSITE (262)
CONTEXT_DEF_IDENTIFIER (344) 72
CONTEXT_MOD_IDENTIFIER (345) 155 156 164
DRUM_PITCH (346) 358 450
DURATION_IDENTIFIER (264) 207 223 249 418
E_UNSIGNED (269) 378
error (256) 7 43 89 102 109 124 130
EVENT_FUNCTION (267) 363
EVENT_IDENTIFIER (268) 380
EXPECT_NO_MORE_ARGS (338) 235 254 522
FIGURE_CLOSE (328) 446
FIGURE_OPEN (329) 446
FRACTION (349) 26 61 421
LYRIC_ELEMENT (350) 456
MARKUP_FUNCTION (351) 525 531
MARKUP_IDENTIFIER (353) 532
MARKUP_LIST_FUNCTION (352) 519
MARKUPLIST_IDENTIFIER (354) 513
MULTI_MEASURE_REST (331) 349
MUSIC_FUNCTION (355) 273 362
MUSIC_IDENTIFIER (356) 159 172 361
NOTENAME_PITCH (357) 221 394
NUMBER_IDENTIFIER (272) 179 216 219 239 257 485 487 490 494
OUTPUT_DEF_IDENTIFIER (358) 119
PITCH_ARG (348) 398
PITCH_IDENTIFIER (347) 220 397
PREC_BOT (258)
PREC_TOP (273)
REAL (270) 178 215 218 251 485 486
REPEAT_IDENTIFIER (259) 143 145
RESTNAME (359) 451
SCM_ARG (360) 24 200 240 259 310 311
SCM_FUNCTION (361) 39 272
SCM_IDENTIFIER (362) 21 22 184 203 224 245 341
SCM_TOKEN (363) 17 20 25 85 98
STRING (364) 49 185 192 204 225 246 322 334 336 338 344 400 427 455
SYMBOL_LIST (365) 187 188
TONICNAME_PITCH (366) 222 395
UNARY_MINUS (367)
UNSIGNED (271) 177 206 214 217 248 250 402 417 420 425 426 471 472
Nonterminals, with rules where they appear
assignment (146)
on left: 50 51 52, on right: 6 46 120
assignment_id (145)
on left: 49, on right: 50 51 52
bare_number (299)
on left: 488 489 490, on right: 342 343 483
bare_number_closed (300)
on left: 491 492, on right: 183
bass_number (275)
on left: 426 427 428 429, on right: 434
book_block (153)
on left: 76, on right: 11 31 54
bookpart_block (156)
on left: 90, on right: 12 32 55 80
br_bass_figure (279)
on left: 442 443, on right: 445
braced_music_list (171)
on left: 131, on right: 144 145 146 147 148
chord_body (242)
on left: 353 354, on right: 211 352
chord_body_element (244)
on left: 357 358 359, on right: 356
chord_body_elements (243)
on left: 355 356, on right: 353 356
chord_item (290)
on left: 466 467 468, on right: 461
chord_items (288)
on left: 460 461, on right: 459 461
chord_separator (289)
on left: 462 463 464 465, on right: 459 466
closed_music (187)
on left: 168 169 170, on right: 169 271
command_element (248)
on left: 364, on right: 350
command_event (249)
on left: 365, on right: 364
complex_music (212)
on left: 276 277 278 279, on right: 166
complex_music_prefix (213)
on left: 280 281, on right: 169 279
context_change (222)
on left: 300, on right: 152
context_def_spec_block (148)
on left: 66, on right: 30 57 117
context_mod (229)
on left: 321 322 323, on right: 73 163
context_mod_arg (149)
on left: 67 69, on right: 70
context_mod_embedded (151)
on left: 70, on right: 75 165
context_modification_arg (183)
on left: 158 159, on right: 157
context_prop_spec (232)
on left: 327, on right: 330 331
direction_less_event (254)
on left: 379 380 381 382, on right: 368 373
direction_reqd_event (255)
on left: 383 384, on right: 372
dots (273)
on left: 422 423, on right: 417 418 423
duration_length (268)
on left: 413, on right: 198 229 243
embedded_lilypond (142)
on left: 40 41 42 43 44, on right: 3 44
embedded_scm (139)
on left: 34 35, on right: 47 63 67 121 137 323 495
embedded_scm_active (137)
on left: 22 23, on right: 18 86 99 105
embedded_scm_arg (140)
on left: 36 37 38, on right: 196 236 340
embedded_scm_arg_closed (208)
on left: 269 270 271, on right: 182 209 255
embedded_scm_closed (207)
on left: 267 268, on right: 158 401 521
event_chord (240)
on left: 346 347 348 349 350 351, on right: 150
event_function_event (247)
on left: 363, on right: 382
exclamations (302)
on left: 496 497, on right: 357 449 497
figure_list (280)
on left: 444 445, on right: 445 446
figure_spec (281)
on left: 446, on right: 453
figured_bass_alteration (276)
on left: 430 431 432, on right: 436
figured_bass_modification (278)
on left: 438 439 440 441, on right: 437
fingering (265)
on left: 402, on right: 374 375 377
full_markup_list (304)
on left: 501, on right: 16 27 64 84 97
function_arglist (199)
on left: 231 232, on right: 39 273
function_arglist_closed (203)
on left: 252 253, on right: 272 362 363
gen_text_def (264)
on left: 399 400 401, on right: 383
grob_prop_path (231)
on left: 325 326, on right: 328
grob_prop_spec (230)
on left: 324, on right: 325 326
grouped_music_list (189)
on left: 174 175, on right: 173 282 283
lilypond (133)
on left: 4 5 6 7 8, on right: 1 5 6 7 8
lilypond_header (144)
on left: 48, on right: 10 88 101 107
lilypond_header_body (143)
on left: 45 46 47, on right: 46 47 48
lyric_element (285)
on left: 454 455 456, on right: 457
lyric_element_music (286)
on left: 457, on right: 133 136 201 241
markup (323)
on left: 533 534, on right: 517 524
markup_braced_list (314)
on left: 515, on right: 511
markup_braced_list_body (315)
on left: 516 517 518, on right: 515 517 518
markup_command_list (316)
on left: 519, on right: 512
markup_composed_list (313)
on left: 514, on right: 509
markup_head_1_item (319)
on left: 525, on right: 526 527
markup_head_1_list (320)
on left: 526 527, on right: 505 514 527 533
markup_list (311)
on left: 509 510, on right: 501 504 518 520
markup_scm (309)
on left: 508, on right: 513 532
markup_top (308)
on left: 504 505 506, on right: 503
markup_uncomposed_list (312)
on left: 511 512 513, on right: 510 514
maybe_notemode_duration (269)
on left: 414 415, on right: 416 449 458
mode_changed_music (214)
on left: 282 283, on right: 171
mode_changing_head (215)
on left: 284 285 286 287 288, on right: 282
multiplied_duration (272)
on left: 419 420 421, on right: 413 415 420 421
music (172)
on left: 132 133, on right: 104 134 142 143 144 145 279 299
music_arg (175)
on left: 138 139, on right: 116 132
music_assign (176)
on left: 140 141, on right: 38 58 226
music_bare (188)
on left: 171 172 173, on right: 167 168
music_embedded (173)
on left: 134 135 136, on right: 42 129
music_embedded_backup (174)
on left: 137, on right: 135 136
music_function_call (210)
on left: 273, on right: 276 360
music_function_call_closed (246)
on left: 362, on right: 170 369
music_function_chord_body (245)
on left: 360 361, on right: 359
music_list (170)
on left: 128 129 130, on right: 42 129 130 131 149
music_or_context_def (166)
on left: 116 117, on right: 123
music_property_def (235)
on left: 333, on right: 151
new_chord (287)
on left: 458 459, on right: 452
new_lyrics (217)
on left: 294 296, on right: 296 297
note_chord_element (241)
on left: 352, on right: 351
number_expression (294)
on left: 476 477 478, on right: 60 476 477
number_factor (296)
on left: 482 483, on right: 479 480 481 482
number_term (295)
on left: 479 480 481, on right: 476 477 478
octave_check (256)
on left: 385 386, on right: 357 449
optional_context_mod (184)
on left: 160 161, on right: 280 281 283
optional_id (211)
on left: 274 275, on right: 280 281
optional_rest (282)
on left: 447 448, on right: 449
output_def (163)
on left: 111, on right: 19 33 56 108 110
output_def_head (164)
on left: 112 113 114, on right: 115
output_def_head_with_mode_switch (165)
on left: 115, on right: 118 119
paper_block (162)
on left: 110, on right: 79 93
pitch (262)
on left: 396 397, on right: 357 449
pitch_arg (263)
on left: 398, on right: 227
post_event (252)
on left: 376 377, on right: 367
property_operation (224)
on left: 303 304 305 306, on right: 321
property_path (223)
on left: 301 302, on right: 51 52 302 305 326
questions (303)
on left: 498 499, on right: 357 449 499
quotes (257)
on left: 387 388 389, on right: 386 394 395 397 398
re_rhythmed_music (220)
on left: 297 299, on right: 278
repeated_music (177)
on left: 142 143 144 145, on right: 277
revert_arg (225)
on left: 307, on right: 306 329
revert_arg_backup (226)
on left: 308, on right: 307 310 311
revert_arg_part (227)
on left: 309 310 311, on right: 308
scm_function_call (141)
on left: 39, on right: 23 35 37
scm_function_call_closed (209)
on left: 272, on right: 268 270
score_block (159)
on left: 103, on right: 13 29 53 81 94
script_dir (267)
on left: 410 411 412, on right: 369 372 373
sequential_music (178)
on left: 146 147, on right: 175
simple_chord_elements (284)
on left: 452 453, on right: 347
simple_element (283)
on left: 449 450 451, on right: 346
simple_markup (321)
on left: 528 530 531 532, on right: 505 506 533 534
simple_music (180)
on left: 150 151 152, on right: 138 140
simple_music_property_def (233)
on left: 328 329 330 331, on right: 333
simple_revert_context (234)
on left: 332, on right: 329
simple_string (237)
on left: 336 337, on right: 142 144 210 275 299 300
simultaneous_music (179)
on left: 148 149, on right: 174
start_symbol (131)
on left: 1 3, on right: 0
steno_duration (271)
on left: 417 418, on right: 125 126 419
steno_pitch (260)
on left: 394, on right: 396
steno_tonic_pitch (261)
on left: 395, on right: 458 459 464 465
step_number (292)
on left: 471 472 473, on right: 469 470
step_numbers (291)
on left: 469 470, on right: 467 470
string (236)
on left: 334 335, on right: 62
string_number_event (253)
on left: 378, on right: 379
sub_quotes (259)
on left: 392 393, on right: 388 393
sup_quotes (258)
on left: 390 391, on right: 389 391
symbol (238)
on left: 338 339, on right: 280 281 300 303 304
symbol_list_arg (192)
on left: 187 188, on right: 202 230 244 261 307
symbol_list_element (195)
on left: 192 193, on right: 191
symbol_list_part (194)
on left: 191, on right: 189 190 309 310 311 332
symbol_list_rev (193)
on left: 189 190, on right: 188 190 301 302 324 327
tempo_event (169)
on left: 125 126 127, on right: 365
tempo_range (293)
on left: 474 475, on right: 125 126
tremolo_type (274)
on left: 424 425, on right: 381
unsigned_number (301)
on left: 493 494 495, on right: 142 144 210 474 475