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_revert_context: symbol_list_part
319 music_property_def: "\override" grob_prop_path '=' scalar
320 | "\revert" simple_revert_context revert_arg
321 | "\set" context_prop_spec '=' scalar
322 | "\unset" context_prop_spec
323 string: STRING
324 | full_markup
325 simple_string: STRING
326 | embedded_scm_bare
327 symbol: STRING
328 | embedded_scm_bare
329 scalar: embedded_scm_arg
330 | pitch_or_music
331 | SCM_IDENTIFIER
332 | bare_number
333 | '-' bare_number
334 | string
335 event_chord: simple_element post_events
336 | CHORD_REPETITION optional_notemode_duration post_events
337 | MULTI_MEASURE_REST optional_notemode_duration post_events
338 | tempo_event
339 | note_chord_element
340 note_chord_element: chord_body optional_notemode_duration post_events
341 chord_body: "<" chord_body_elements ">"
342 | FIGURE_OPEN figure_list FIGURE_CLOSE
343 chord_body_elements: /* empty */
344 | chord_body_elements chord_body_element
345 chord_body_element: pitch_or_tonic_pitch
exclamations
questions
octave_check
post_events
346 | DRUM_PITCH post_events
347 | music_function_chord_body
348 music_function_chord_body: music_function_call
349 | MUSIC_IDENTIFIER
350 | embedded_scm
351 event_function_event: EVENT_FUNCTION function_arglist
352 post_events: /* empty */
353 | post_events post_event
354 post_event_nofinger: direction_less_event
355 | script_dir music_function_call
356 | "--"
357 | "__"
358 | script_dir direction_reqd_event
359 | script_dir direction_less_event
360 | '^' fingering
361 | '_' fingering
362 post_event: post_event_nofinger
363 | '-' fingering
364 string_number_event: E_UNSIGNED
365 direction_less_event: string_number_event
366 | EVENT_IDENTIFIER
367 | tremolo_type
368 | event_function_event
369 direction_reqd_event: gen_text_def
370 | script_abbreviation
371 octave_check: /* empty */
372 | '=' quotes
373 quotes: /* empty */
374 | sub_quotes
375 | sup_quotes
376 sup_quotes: '''
377 | sup_quotes '''
378 sub_quotes: ','
379 | sub_quotes ','
380 steno_pitch: NOTENAME_PITCH quotes
381 steno_tonic_pitch: TONICNAME_PITCH quotes
382 pitch: steno_pitch
383 | PITCH_IDENTIFIER quotes
384 pitch_or_tonic_pitch: pitch
385 | steno_tonic_pitch
386 gen_text_def: full_markup
387 | STRING
388 | embedded_scm
389 fingering: UNSIGNED
390 script_abbreviation: '^'
391 | '+'
392 | '-'
393 | '!'
394 | ">"
395 | '.'
396 | '_'
397 script_dir: '_'
398 | '^'
399 | '-'
400 duration_length: multiplied_duration
401 maybe_notemode_duration: /* empty */
402 | multiplied_duration
403 optional_notemode_duration: maybe_notemode_duration
404 steno_duration: UNSIGNED dots
405 | DURATION_IDENTIFIER dots
406 multiplied_duration: steno_duration
407 | multiplied_duration '*' UNSIGNED
408 | multiplied_duration '*' FRACTION
409 dots: /* empty */
410 | dots '.'
411 tremolo_type: ':'
412 | ':' UNSIGNED
413 bass_number: UNSIGNED
414 | STRING
415 | full_markup
416 | embedded_scm_bare
417 figured_bass_alteration: '-'
418 | '+'
419 | '!'
420 bass_figure: "_"
421 | bass_number
422 | bass_figure ']'
423 | bass_figure figured_bass_alteration
424 | bass_figure figured_bass_modification
425 figured_bass_modification: "\+"
426 | "\!"
427 | '/'
428 | "\"
429 br_bass_figure: bass_figure
430 | '[' bass_figure
431 figure_list: /* empty */
432 | figure_list br_bass_figure
433 optional_rest: /* empty */
434 | "\rest"
435 pitch_or_music: pitch
exclamations
questions
octave_check
maybe_notemode_duration
optional_rest
post_events
436 | new_chord post_events
437 simple_element: DRUM_PITCH optional_notemode_duration
438 | RESTNAME optional_notemode_duration
439 lyric_element: full_markup
440 | STRING
441 | LYRIC_ELEMENT
442 lyric_element_music: lyric_element
optional_notemode_duration
post_events
443 new_chord: steno_tonic_pitch maybe_notemode_duration
444 | steno_tonic_pitch
optional_notemode_duration
chord_separator
chord_items
445 chord_items: /* empty */
446 | chord_items chord_item
447 chord_separator: ":"
448 | "^"
449 | "/" steno_tonic_pitch
450 | "/+" steno_tonic_pitch
451 chord_item: chord_separator
452 | step_numbers
453 | CHORD_MODIFIER
454 step_numbers: step_number
455 | step_numbers '.' step_number
456 step_number: UNSIGNED
457 | UNSIGNED '+'
458 | UNSIGNED "-"
459 tempo_range: unsigned_number
460 | unsigned_number '-' unsigned_number
461 number_expression: number_expression '+' number_term
462 | number_expression '-' number_term
463 | number_term
464 number_term: number_factor
465 | number_factor '*' number_factor
466 | number_factor '/' number_factor
467 number_factor: '-' number_factor
468 | bare_number
469 bare_number_common: REAL
470 | NUMBER_IDENTIFIER
471 | REAL NUMBER_IDENTIFIER
472 bare_number: bare_number_common
473 | UNSIGNED
474 | UNSIGNED NUMBER_IDENTIFIER
475 unsigned_number: UNSIGNED
476 | NUMBER_IDENTIFIER
477 | embedded_scm
478 exclamations: /* empty */
479 | exclamations '!'
480 questions: /* empty */
481 | questions '?'
483 full_markup_list: "\markuplist" 0 markup_list
485 full_markup: "\markup" 1 markup_top
486 markup_top: markup_list
487 | markup_head_1_list simple_markup
488 | simple_markup
490 markup_scm: embedded_scm_bare 2 "(backed-up?)"
491 markup_list: markup_composed_list
492 | markup_uncomposed_list
493 markup_uncomposed_list: markup_braced_list
494 | markup_command_list
495 | markup_scm MARKUPLIST_IDENTIFIER
497 markup_uncomposed_list: "\score-lines" 3 '{' score_body '}'
498 markup_composed_list: markup_head_1_list markup_uncomposed_list
499 markup_braced_list: '{' markup_braced_list_body '}'
500 markup_braced_list_body: /* empty */
501 | markup_braced_list_body markup
502 | markup_braced_list_body markup_list
503 markup_command_list: MARKUP_LIST_FUNCTION markup_command_list_arguments
504 markup_command_basic_arguments: "markup-list?"
markup_command_list_arguments
markup_list
505 | "scheme?"
markup_command_list_arguments
embedded_scm
506 | EXPECT_NO_MORE_ARGS
507 markup_command_list_arguments: markup_command_basic_arguments
508 | "markup?"
markup_command_list_arguments
markup
509 markup_head_1_item: MARKUP_FUNCTION
"markup?"
markup_command_list_arguments
510 markup_head_1_list: markup_head_1_item
511 | markup_head_1_list markup_head_1_item
512 simple_markup: STRING
514 simple_markup: "\score" 4 '{' score_body '}'
515 | MARKUP_FUNCTION markup_command_basic_arguments
516 | markup_scm MARKUP_IDENTIFIER
517 markup: markup_head_1_list simple_markup
518 | 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 505
255 256 257 258
269 272
458 473 474 475
460 462 467
"#{" (339) 3
"(backed-up?)" (334) 148 270 297 300 301 490
"(reparsed?)" (335) 212 213 214 215 216 217 240 241 242 243 253 254
"-" (319) 458
"--" (265) 356
"/" (320) 449
"/+" (316) 450
":" (318) 447
"<" (321) 341
"<<" (323) 158
">" (322) 341 394
">>" (324) 158
"\!" (326) 426
"\" (325) 428
"\+" (327) 425
"\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) 485
"\markuplist" (297) 483
"\midi" (298) 123
"\name" (299) 310
"\new" (315) 176
"\notemode" (300) 281
"\override" (301) 295 319
"\paper" (302) 122
"\remove" (303) 303
"\repeat" (259) 153 154
"\rest" (304) 434
"\revert" (305) 296 320
"\score" (306) 110 514
"\score-lines" (307) 497
"\sequential" (308) 155
"\set" (309) 321
"\simultaneous" (310) 157
"\tempo" (311) 135 136 137
"\type" (312) 308
"\unset" (313) 294 322
"\version-error" (291) 8 51
"\with" (314) 163 164 166
"^" (317) 448
"_" (330) 420
"__" (264) 357
"end of input" (0) 0
"markup-list?" (336) 504
"markup?" (332) 508 509
"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) 393 419 479
''' (39) 376 377
'*' (42) 407 408 465
'+' (43) 391 418 457 461
',' (44) 378 379
'-' (45) 41 207 208 209 234 235 236 252 266 267 333 363 392 399 417
'.' (46) 59 199 201 300 395 410 455
'/' (47) 427 466
':' (58) 411 412
'=' (61) 57 58 59 135 136 183 275 290 293 295 319 321 372
'?' (63) 481
'[' (91) 430
']' (93) 422
'^' (94) 360 390 398
'_' (95) 361 396 397
'{' (123) 55 75 83 97 110 128 141 163 497 499 514
'}' (125) 55 75 83 97 110 121 141 163 497 499 514
BOOK_IDENTIFIER (340) 13 85 99
CHORD_MODIFIER (341) 453
CHORD_REPETITION (342) 336
COMPOSITE (261)
CONTEXT_MOD_IDENTIFIER (343) 164 165 173
DRUM_PITCH (344) 346 437
DURATION_IDENTIFIER (263) 224 237 265 405
E_UNSIGNED (268) 364
error (256) 7 50 96 109 112 134 140
EVENT_FUNCTION (266) 351
EVENT_IDENTIFIER (267) 366
EXPECT_NO_MORE_ARGS (338) 248 506
FIGURE_CLOSE (328) 342
FIGURE_OPEN (329) 342
FRACTION (346) 27 70 408
LYRIC_ELEMENT (347) 441
MARKUP_FUNCTION (348) 509 515
MARKUP_IDENTIFIER (350) 516
MARKUP_LIST_FUNCTION (349) 503
MARKUPLIST_IDENTIFIER (351) 495
MULTI_MEASURE_REST (331) 337
MUSIC_FUNCTION (352) 273
MUSIC_IDENTIFIER (353) 168 194 278 349
NOTENAME_PITCH (354) 380
NUMBER_IDENTIFIER (271) 43 209 233 236 252 470 471 474 476
PITCH_IDENTIFIER (345) 383
PREC_BOT (258)
PREC_TOP (272)
REAL (269) 208 232 235 267 469 471
RESTNAME (355) 438
SCM_ARG (356) 25 215 253 300 301
SCM_FUNCTION (357) 40
SCM_IDENTIFIER (358) 22 23 218 238 259 331
SCM_TOKEN (359) 18 21 26 92 105 131
STRING (360) 56 203 221 239 262 312 323 325 327 387 414 440 512
SYMBOL_LIST (361) 198 199
TONICNAME_PITCH (362) 381
UNARY_MINUS (363)
UNSIGNED (270) 43 207 223 231 234 264 266 389 404 407 412 413 456 457
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 (284)
on left: 472 473 474, on right: 332 333 468
basic_music (187)
on left: 179 180 181 182 183, on right: 184 190 192
bass_number (262)
on left: 413 414 415 416, on right: 421
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 (266)
on left: 429 430, on right: 432
braced_music_list (170)
on left: 141, on right: 154 155 156 157
chord_body (232)
on left: 341 342, on right: 340
chord_body_element (234)
on left: 345 346 347, on right: 344
chord_body_elements (233)
on left: 343 344, on right: 341 344
chord_item (276)
on left: 451 452 453, on right: 446
chord_items (274)
on left: 445 446, on right: 444 446
chord_separator (275)
on left: 447 448 449 450, on right: 444 451
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: 321 322
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 (241)
on left: 365 366 367 368, on right: 354 359
direction_reqd_event (242)
on left: 369 370, on right: 358
dots (260)
on left: 409 410, on right: 404 405 410
duration_length (255)
on left: 400, 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 329
embedded_scm_bare (132)
on left: 21 22, on right: 35 204 326 328 416 490
event_chord (230)
on left: 335 336 337 338 339, on right: 159 186
event_function_event (236)
on left: 351, on right: 368
exclamations (286)
on left: 478 479, on right: 345 435 479
figure_list (267)
on left: 431 432, on right: 342 432
figured_bass_alteration (263)
on left: 417 418 419, on right: 423
figured_bass_modification (265)
on left: 425 426 427 428, on right: 424
fingering (252)
on left: 389, on right: 360 361 363
full_markup_list (288)
on left: 483, on right: 17 28 73 91 104
function_arglist (200)
on left: 244 245, on right: 40 273 351
function_arglist_skip_nonbackup (201)
on left: 246 247, on right: 245 247
gen_text_def (251)
on left: 386 387 388, on right: 369
grob_prop_path (222)
on left: 315 316, on right: 319
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 (271)
on left: 439 440 441, on right: 442
lyric_element_music (272)
on left: 442, on right: 143 148 216 254
lyric_mode_music (208)
on left: 277 278, on right: 177 178 182 183
markup (308)
on left: 517 518, on right: 501 508
markup_braced_list (299)
on left: 499, on right: 493
markup_braced_list_body (300)
on left: 500 501 502, on right: 499 501 502
markup_command_list (301)
on left: 503, on right: 494
markup_composed_list (298)
on left: 498, on right: 491
markup_head_1_item (304)
on left: 509, on right: 510 511
markup_head_1_list (305)
on left: 510 511, on right: 487 498 511 517
markup_list (295)
on left: 491 492, on right: 483 486 502 504
markup_scm (293)
on left: 490, on right: 495 516
markup_top (292)
on left: 486 487 488, on right: 485
markup_uncomposed_list (296)
on left: 493 494 495 497, on right: 492 498
maybe_notemode_duration (256)
on left: 401 402, on right: 403 435 443
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 348 355
music_function_chord_body (235)
on left: 348 349 350, on right: 347
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 (225)
on left: 319 320 321 322, on right: 160
new_chord (273)
on left: 443 444, on right: 436
new_lyrics (186)
on left: 177 178, on right: 178 187 192
note_chord_element (231)
on left: 340, on right: 339
number_expression (280)
on left: 461 462 463, on right: 61 461 462
number_factor (282)
on left: 467 468, on right: 464 465 466 467
number_term (281)
on left: 464 465 466, on right: 461 462 463
octave_check (243)
on left: 371 372, on right: 345 435
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 (268)
on left: 433 434, on right: 435
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 (249)
on left: 382 383, on right: 219 228 260 384 435
pitch_as_music (172)
on left: 145, on right: 144 185
pitch_or_music (269)
on left: 435 436, on right: 69 145 212 240 255 330
pitch_or_tonic_pitch (250)
on left: 384 385, on right: 345
post_event (239)
on left: 362 363, on right: 47 353
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 (287)
on left: 480 481, on right: 345 435 481
quotes (244)
on left: 373 374 375, on right: 372 380 381 383
repeated_music (176)
on left: 153 154, on right: 180
revert_arg (216)
on left: 297, on right: 296 320
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 497 514
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 (254)
on left: 397 398 399, on right: 355 358 359
sequential_music (177)
on left: 155 156, on right: 197
simple_element (270)
on left: 437 438, on right: 335
simple_markup (306)
on left: 512 514 515 516, on right: 487 488 517 518
simple_music (179)
on left: 159 160 161, on right: 151
simple_revert_context (224)
on left: 318, on right: 320
simple_string (227)
on left: 325 326, 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 (258)
on left: 404 405, on right: 135 136 406
steno_pitch (247)
on left: 380, on right: 382
step_number (278)
on left: 456 457 458, on right: 454 455
step_numbers (277)
on left: 454 455, on right: 452 455
string (226)
on left: 323 324, on right: 71 334
string_number_event (240)
on left: 364, on right: 365
sub_quotes (246)
on left: 378 379, on right: 374 379
sup_quotes (245)
on left: 376 377, on right: 375 377
symbol (228)
on left: 327 328, 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 318
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: 338
tempo_range (279)
on left: 459 460, on right: 135 136
tremolo_type (261)
on left: 411 412, on right: 367
unsigned_number (285)
on left: 475 476 477, on right: 153 154 459 460