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