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