GNU LilyPond Notation Reference: D. LilyPond grammar

# D. LilyPond grammar

This appendix contains a description of the LilyPond grammar, as output from the parser.

    Grammar

        1 lilypond: /* empty */
        2         | lilypond toplevel_expression
        3         | lilypond assignment
        4         | lilypond error
        5         | lilypond "\\invalid"

        6 object_id_setting: "\\objectid" STRING

        7 toplevel_expression: lilypond_header
        8                    | book_block
        9                    | bookpart_block
       10                    | score_block
       11                    | composite_music
       12                    | full_markup
       13                    | full_markup_list
       14                    | output_def

       15 embedded_scm: SCM_TOKEN
       16             | SCM_IDENTIFIER

       17 lilypond_header_body: /* empty */
       18                     | lilypond_header_body assignment

       19 lilypond_header: "\\header" '{' lilypond_header_body '}'

       20 assignment_id: STRING
       21              | LYRICS_STRING

       22 assignment: assignment_id '=' identifier_init
       23           | embedded_scm

       24 identifier_init: score_block
       25                | book_block
       26                | bookpart_block
       27                | output_def
       28                | context_def_spec_block
       29                | music
       30                | post_event
       31                | number_expression
       32                | string
       33                | embedded_scm
       34                | full_markup
       35                | DIGIT

       36 context_def_spec_block: "\\context" '{' context_def_spec_body '}'

       37 context_def_spec_body: /* empty */
       38                      | CONTEXT_DEF_IDENTIFIER
       39                      | context_def_spec_body "\\grobdescriptions" embedded_scm
       40                      | context_def_spec_body context_mod

       41 book_block: "\\book" '{' book_body '}'

       42 book_body: /* empty */
       43          | BOOK_IDENTIFIER
       44          | book_body paper_block
       45          | book_body bookpart_block
       46          | book_body score_block
       47          | book_body composite_music
       48          | book_body full_markup
       49          | book_body full_markup_list
       50          | book_body lilypond_header
       51          | book_body error
       52          | book_body object_id_setting

       53 bookpart_block: "\\bookpart" '{' bookpart_body '}'

       54 bookpart_body: /* empty */
       55              | BOOK_IDENTIFIER
       56              | bookpart_body paper_block
       57              | bookpart_body score_block
       58              | bookpart_body composite_music
       59              | bookpart_body full_markup
       60              | bookpart_body full_markup_list
       61              | bookpart_body lilypond_header
       62              | bookpart_body error
       63              | bookpart_body object_id_setting

       64 score_block: "\\score" '{' score_body '}'

       65 score_body: music
       66           | SCORE_IDENTIFIER
       67           | score_body object_id_setting
       68           | score_body lilypond_header
       69           | score_body output_def
       70           | score_body error

       71 paper_block: output_def

       72 output_def: output_def_body '}'

       73 output_def_head: "\\paper"
       74                | "\\midi"
       75                | "\\layout"

       76 output_def_head_with_mode_switch: output_def_head

       77 output_def_body: output_def_head_with_mode_switch '{'
       78                | output_def_head_with_mode_switch '{' OUTPUT_DEF_IDENTIFIER
       79                | output_def_body assignment
       80                | output_def_body context_def_spec_block
       81                | output_def_body error

       82 tempo_event: "\\tempo" steno_duration '=' bare_unsigned
       83            | "\\tempo" string steno_duration '=' bare_unsigned
       84            | "\\tempo" full_markup steno_duration '=' bare_unsigned
       85            | "\\tempo" string
       86            | "\\tempo" full_markup

       87 music_list: /* empty */
       88           | music_list music
       89           | music_list embedded_scm
       90           | music_list error

       91 music: simple_music
       92      | composite_music

       93 alternative_music: /* empty */
       94                  | "\\alternative" '{' music_list '}'

       95 repeated_music: "\\repeat" simple_string unsigned_number music alternative_music

       96 sequential_music: "\\sequential" '{' music_list '}'
       97                 | '{' music_list '}'

       98 simultaneous_music: "\\simultaneous" '{' music_list '}'
       99                   | "<<" music_list ">>"

      100 simple_music: event_chord
      101             | MUSIC_IDENTIFIER
      102             | music_property_def
      103             | context_change

      104 optional_context_mod: /* empty */

      106 optional_context_mod: "\with"  '{' context_mod_list '}'

      107 context_mod_list: /* empty */
      108                 | context_mod_list context_mod

      109 composite_music: prefix_composite_music
      110                | grouped_music_list

      111 grouped_music_list: simultaneous_music
      112                   | sequential_music

      113 function_scm_argument: embedded_scm
      114                      | simple_string

      115 function_arglist_music_last: EXPECT_MUSIC function_arglist music

      116 function_arglist_nonmusic_last: EXPECT_MARKUP function_arglist full_markup
      117                               | EXPECT_SCM function_arglist function_scm_argument

      118 function_arglist_nonmusic: EXPECT_NO_MORE_ARGS
      119                          | EXPECT_MARKUP function_arglist_nonmusic full_markup
      120                          | EXPECT_SCM function_arglist_nonmusic function_scm_argument

      121 function_arglist: EXPECT_NO_MORE_ARGS
      122                 | function_arglist_music_last
      123                 | function_arglist_nonmusic_last

      124 generic_prefix_music_scm: MUSIC_FUNCTION function_arglist

      125 optional_id: /* empty */
      126            | '=' simple_string

      127 prefix_composite_music: generic_prefix_music_scm
      128                       | "\context" simple_string optional_id optional_context_mod music
      129                       | "\new" simple_string optional_id optional_context_mod music
      130                       | "\times" fraction music
      131                       | repeated_music
      132                       | "\transpose" pitch_also_in_chords pitch_also_in_chords music
      133                       | mode_changing_head grouped_music_list
      134                       | mode_changing_head_with_context optional_context_mod grouped_music_list
      135                       | relative_music
      136                       | re_rhythmed_music

      137 mode_changing_head: "\notemode"
      138                   | "\drummode"
      139                   | "\figuremode"
      140                   | "\chordmode"
      141                   | "\lyricmode"

      142 mode_changing_head_with_context: "\drums"
      143                                | "\figures"
      144                                | "\chords"
      145                                | "\lyrics"

      146 relative_music: "\relative" absolute_pitch music
      147               | "\relative" composite_music

      149 new_lyrics: "\addlyrics"  grouped_music_list

      151 new_lyrics: new_lyrics "\addlyrics"  grouped_music_list

      152 re_rhythmed_music: grouped_music_list new_lyrics

      154 re_rhythmed_music: "\lyricsto" simple_string  music

      155 context_change: "\change" STRING '=' STRING

      156 property_path_revved: embedded_scm
      157                     | property_path_revved embedded_scm

      158 property_path: property_path_revved

      159 property_operation: STRING '=' scalar
      160                   | "\unset" simple_string
      161                   | "\override" simple_string property_path '=' embedded_scm
      162                   | "\revert" simple_string embedded_scm

      163 context_def_mod: "\consists"
      164                | "\remove"
      165                | "\accepts"
      166                | "\defaultchild"
      167                | "\denies"
      168                | "\alias"
      169                | "\type"
      170                | "\description"
      171                | "\name"

      172 context_mod: property_operation
      173            | context_def_mod STRING

      174 context_prop_spec: simple_string
      175                  | simple_string '.' simple_string

      176 simple_music_property_def: "\override" context_prop_spec property_path '=' scalar
      177                          | "\revert" context_prop_spec embedded_scm
      178                          | "\set" context_prop_spec '=' scalar
      179                          | "\unset" context_prop_spec

      180 music_property_def: simple_music_property_def
      181                   | "\once" simple_music_property_def

      182 string: STRING
      183       | STRING_IDENTIFIER
      184       | string '+' string

      185 simple_string: STRING
      186              | LYRICS_STRING
      187              | STRING_IDENTIFIER

      188 scalar: string
      189       | LYRICS_STRING
      190       | bare_number
      191       | embedded_scm
      192       | full_markup
      193       | DIGIT

      194 event_chord: simple_chord_elements post_events
      195            | MULTI_MEASURE_REST optional_notemode_duration post_events
      196            | command_element
      197            | note_chord_element

      198 note_chord_element: chord_body optional_notemode_duration post_events

      199 chord_body: "<" chord_body_elements ">"

      200 chord_body_elements: /* empty */
      201                    | chord_body_elements chord_body_element

      202 chord_body_element: pitch exclamations questions octave_check post_events
      203                   | DRUM_PITCH post_events
      204                   | music_function_chord_body

      205 music_function_identifier_musicless_prefix: MUSIC_FUNCTION

      206 music_function_chord_body: music_function_identifier_musicless_prefix EXPECT_MUSIC function_arglist_nonmusic chord_body_element
      207                          | music_function_identifier_musicless_prefix function_arglist_nonmusic

      208 music_function_event: music_function_identifier_musicless_prefix EXPECT_MUSIC function_arglist_nonmusic post_event
      209                     | music_function_identifier_musicless_prefix function_arglist_nonmusic

      210 command_element: command_event
      211                | "\skip" duration_length
      212                | "\["
      213                | "\]"
      214                | "\"
      215                | '|'
      216                | "\partial" duration_length
      217                | "\time" fraction
      218                | "\mark" scalar

      219 command_event: "\~"
      220              | "\mark" "\default"
      221              | tempo_event
      222              | "\key" "\default"
      223              | "\key" NOTENAME_PITCH SCM_IDENTIFIER

      224 post_events: /* empty */
      225            | post_events post_event

      226 post_event: direction_less_event
      227           | '-' music_function_event
      228           | "--"
      229           | "__"
      230           | script_dir direction_reqd_event
      231           | script_dir direction_less_event
      232           | string_number_event

      233 string_number_event: E_UNSIGNED

      234 direction_less_char: '['
      235                    | ']'
      236                    | '~'
      237                    | '('
      238                    | ')'
      239                    | "\!"
      240                    | "\("
      241                    | "\)"
      242                    | "\>"
      243                    | "\<"

      244 direction_less_event: direction_less_char
      245                     | EVENT_IDENTIFIER
      246                     | tremolo_type

      247 direction_reqd_event: gen_text_def
      248                     | script_abbreviation

      249 octave_check: /* empty */
      250             | '='
      251             | '=' sub_quotes
      252             | '=' sup_quotes

      253 sup_quotes: '''
      254           | sup_quotes '''

      255 sub_quotes: ','
      256           | sub_quotes ','

      257 steno_pitch: NOTENAME_PITCH
      258            | NOTENAME_PITCH sup_quotes
      259            | NOTENAME_PITCH sub_quotes

      260 steno_tonic_pitch: TONICNAME_PITCH
      261                  | TONICNAME_PITCH sup_quotes
      262                  | TONICNAME_PITCH sub_quotes

      263 pitch: steno_pitch

      264 pitch_also_in_chords: pitch
      265                     | steno_tonic_pitch

      266 gen_text_def: full_markup
      267             | string
      268             | DIGIT

      269 script_abbreviation: '^'
      270                    | '+'
      271                    | '-'
      272                    | '|'
      273                    | ">"
      274                    | '.'
      275                    | '_'

      276 script_dir: '_'
      277           | '^'
      278           | '-'

      279 absolute_pitch: steno_pitch

      280 duration_length: multiplied_duration

      281 optional_notemode_duration: /* empty */
      282                           | multiplied_duration

      283 steno_duration: bare_unsigned dots
      284               | DURATION_IDENTIFIER dots

      285 multiplied_duration: steno_duration
      286                    | multiplied_duration '*' bare_unsigned
      287                    | multiplied_duration '*' FRACTION

      288 fraction: FRACTION
      289         | UNSIGNED '/' UNSIGNED

      290 dots: /* empty */
      291     | dots '.'

      292 tremolo_type: ':'
      293             | ':' bare_unsigned

      294 bass_number: DIGIT
      295            | UNSIGNED
      296            | STRING
      297            | full_markup

      298 figured_bass_alteration: '-'
      299                        | '+'
      300                        | '!'

      301 bass_figure: "_"
      302            | bass_number
      303            | bass_figure ']'
      304            | bass_figure figured_bass_alteration
      305            | bass_figure figured_bass_modification

      306 figured_bass_modification: "\+"
      307                          | "\!"
      308                          | '/'
      309                          | "\"

      310 br_bass_figure: bass_figure
      311               | '[' bass_figure

      312 figure_list: /* empty */
      313            | figure_list br_bass_figure

      314 figure_spec: FIGURE_OPEN figure_list FIGURE_CLOSE

      315 optional_rest: /* empty */
      316              | "\rest"

      317 simple_element: pitch exclamations questions octave_check optional_notemode_duration optional_rest
      318               | DRUM_PITCH optional_notemode_duration
      319               | RESTNAME optional_notemode_duration
      320               | lyric_element optional_notemode_duration

      321 simple_chord_elements: simple_element
      322                      | new_chord
      323                      | figure_spec optional_notemode_duration

      324 lyric_element: lyric_markup
      325              | LYRICS_STRING

      326 new_chord: steno_tonic_pitch optional_notemode_duration
      327          | steno_tonic_pitch optional_notemode_duration chord_separator chord_items

      328 chord_items: /* empty */
      329            | chord_items chord_item

      330 chord_separator: ":"
      331                | "^"
      332                | "/" steno_tonic_pitch
      333                | "/+" steno_tonic_pitch

      334 chord_item: chord_separator
      335           | step_numbers
      336           | CHORD_MODIFIER

      337 step_numbers: step_number
      338             | step_numbers '.' step_number

      339 step_number: bare_unsigned
      340            | bare_unsigned '+'
      341            | bare_unsigned "-"

      342 number_expression: number_expression '+' number_term
      343                  | number_expression '-' number_term
      344                  | number_term

      345 number_term: number_factor
      346            | number_factor '*' number_factor
      347            | number_factor '/' number_factor

      348 number_factor: '-' number_factor
      349              | bare_number

      350 bare_number: UNSIGNED
      351            | REAL
      352            | NUMBER_IDENTIFIER
      353            | REAL NUMBER_IDENTIFIER
      354            | UNSIGNED NUMBER_IDENTIFIER

      355 bare_unsigned: UNSIGNED
      356              | DIGIT

      357 unsigned_number: bare_unsigned
      358                | NUMBER_IDENTIFIER

      359 exclamations: /* empty */
      360             | exclamations '!'

      361 questions: /* empty */
      362          | questions '?'

      363 lyric_markup: LYRIC_MARKUP_IDENTIFIER

      365 lyric_markup: LYRIC_MARKUP  markup_top

      367 full_markup_list: "\markuplines"  markup_list

      368 full_markup: MARKUP_IDENTIFIER

      370 full_markup: "\markup"  markup_top

      371 markup_top: markup_list
      372           | markup_head_1_list simple_markup
      373           | simple_markup

      374 markup_list: markup_composed_list
      375            | markup_braced_list
      376            | markup_command_list

      377 markup_composed_list: markup_head_1_list markup_braced_list

      378 markup_braced_list: '{' markup_braced_list_body '}'

      379 markup_braced_list_body: /* empty */
      380                        | markup_braced_list_body markup
      381                        | markup_braced_list_body markup_list

      382 markup_command_list: MARKUP_LIST_HEAD_EMPTY
      383                    | MARKUP_LIST_HEAD_LIST0 markup_list
      384                    | MARKUP_LIST_HEAD_SCM0 embedded_scm
      385                    | MARKUP_LIST_HEAD_SCM0_LIST1 embedded_scm markup_list
      386                    | MARKUP_LIST_HEAD_SCM0_SCM1_LIST2 embedded_scm embedded_scm markup_list

      387 markup_head_1_item: MARKUP_HEAD_MARKUP0
      388                   | MARKUP_HEAD_SCM0_MARKUP1 embedded_scm
      389                   | MARKUP_HEAD_SCM0_SCM1_MARKUP2 embedded_scm embedded_scm

      390 markup_head_1_list: markup_head_1_item
      391                   | markup_head_1_list markup_head_1_item

      392 simple_markup: STRING
      393              | MARKUP_IDENTIFIER
      394              | LYRIC_MARKUP_IDENTIFIER
      395              | STRING_IDENTIFIER

      397 simple_markup: "\score"  '{' score_body '}'
      398              | MARKUP_HEAD_SCM0 embedded_scm
      399              | MARKUP_HEAD_SCM0_SCM1_SCM2 embedded_scm embedded_scm embedded_scm
      400              | MARKUP_HEAD_SCM0_SCM1 embedded_scm embedded_scm
      401              | MARKUP_HEAD_SCM0_MARKUP1_MARKUP2 embedded_scm markup markup
      402              | MARKUP_HEAD_SCM0_SCM1_MARKUP2_MARKUP3 embedded_scm embedded_scm markup markup
      403              | MARKUP_HEAD_EMPTY
      404              | MARKUP_HEAD_LIST0 markup_list
      405              | MARKUP_HEAD_MARKUP0_MARKUP1 markup markup

      406 markup: markup_head_1_list simple_markup
      407       | simple_markup

    Terminals, with rules where they appear

    "-" (320) 341
    "--" (341) 228
    "/" (321) 332
    "/+" (317) 333
    ":" (319) 330
    "<" (322) 199
    "<<" (324) 99
    ">" (323) 199 273
    ">>" (325) 99
    "\!" (330) 239 307
    "\" (326) 214 309
    "\(" (332) 240
    "\)" (329) 241
    "\+" (335) 306
    "\<" (334) 243
    "\>" (327) 242
    "\[" (331) 212
    "\]" (333) 213
    "\accepts" (261) 165
    "\addlyrics" (259) 149 151
    "\alias" (262) 168
    "\alternative" (263) 94
    "\book" (264) 41
    "\bookpart" (265) 53
    "\C[haracter]" (328)
    "\change" (266) 155
    "\chordmode" (267) 140
    "\chords" (268) 144
    "\consists" (269) 163
    "\context" (270) 36 128
    "\default" (271) 220 222
    "\defaultchild" (272) 166
    "\denies" (273) 167
    "\description" (274) 170
    "\drummode" (275) 138
    "\drums" (276) 142
    "\figuremode" (277) 139
    "\figures" (278) 143
    "\grobdescriptions" (279) 39
    "\header" (280) 19
    "\invalid" (281) 5
    "\key" (282) 222 223
    "\layout" (283) 75
    "\lyricmode" (284) 141
    "\lyrics" (285) 145
    "\lyricsto" (286) 154
    "\mark" (287) 218 220
    "\markup" (288) 370
    "\markuplines" (289) 367
    "\midi" (290) 74
    "\name" (291) 171
    "\new" (316) 129
    "\notemode" (292) 137
    "\objectid" (293) 6
    "\octave" (294)
    "\once" (295) 181
    "\override" (296) 161 176
    "\paper" (297) 73
    "\partial" (298) 216
    "\relative" (299) 146 147
    "\remove" (300) 164
    "\repeat" (301) 95
    "\rest" (302) 316
    "\revert" (303) 162 177
    "\score" (304) 64 397
    "\sequential" (305) 96
    "\set" (306) 178
    "\simultaneous" (307) 98
    "\skip" (308) 211
    "\tempo" (309) 82 83 84 85 86
    "\time" (315) 217
    "\times" (310) 130
    "\transpose" (311) 132
    "\type" (312) 169
    "\unset" (313) 160 179
    "\with" (314) 106
    "\~" (336) 219
    "^" (318) 331
    "_" (340) 301
    "__" (337) 229
    $end (0) 0
    '!' (33) 300 360
    ''' (39) 253 254
    '(' (40) 237
    ')' (41) 238
    '*' (42) 286 287 346
    '+' (43) 184 270 299 340 342
    ',' (44) 255 256
    '-' (45) 227 271 278 298 343 348
    '.' (46) 175 274 291 338
    '/' (47) 289 308 347
    ':' (58) 292 293
    '=' (61) 22 82 83 84 126 155 159 161 176 178 250 251 252
    '?' (63) 362
    '[' (91) 234 311
    ']' (93) 235 303
    '^' (94) 269 277
    '_' (95) 275 276
    '{' (123) 19 36 41 53 64 77 78 94 96 97 98 106 378 397
    '|' (124) 215 272
    '}' (125) 19 36 41 53 64 72 94 96 97 98 106 378 397
    '~' (126) 236
    BOOK_IDENTIFIER (352) 43 55
    CHORD_MODIFIER (354) 336
    CHORDMODIFIER_PITCH (353)
    CHORDMODIFIERS (342)
    CONTEXT_DEF_IDENTIFIER (355) 38
    DIGIT (345) 35 193 268 294 356
    DRUM_PITCH (356) 203 318
    DURATION_IDENTIFIER (357) 284
    E_UNSIGNED (346) 233
    error (256) 4 51 62 70 81 90
    EVENT_IDENTIFIER (358) 245
    EXPECT_MARKUP (348) 116 119
    EXPECT_MUSIC (349) 115 206 208
    EXPECT_NO_MORE_ARGS (351) 118 121
    EXPECT_SCM (350) 117 120
    FIGURE_CLOSE (338) 314
    FIGURE_OPEN (339) 314
    FRACTION (359) 287 288
    LYRIC_MARKUP (343) 365
    LYRIC_MARKUP_IDENTIFIER (361) 363 394
    LYRICS_STRING (360) 21 186 189 325
    MARKUP_HEAD_EMPTY (362) 403
    MARKUP_HEAD_LIST0 (363) 404
    MARKUP_HEAD_MARKUP0 (364) 387
    MARKUP_HEAD_MARKUP0_MARKUP1 (365) 405
    MARKUP_HEAD_SCM0 (366) 398
    MARKUP_HEAD_SCM0_MARKUP1 (367) 388
    MARKUP_HEAD_SCM0_MARKUP1_MARKUP2 (371) 401
    MARKUP_HEAD_SCM0_SCM1 (368) 400
    MARKUP_HEAD_SCM0_SCM1_MARKUP2 (369) 389
    MARKUP_HEAD_SCM0_SCM1_MARKUP2_MARKUP3 (370) 402
    MARKUP_HEAD_SCM0_SCM1_SCM2 (372) 399
    MARKUP_IDENTIFIER (378) 368 393
    MARKUP_LIST_HEAD_EMPTY (373) 382
    MARKUP_LIST_HEAD_LIST0 (374) 383
    MARKUP_LIST_HEAD_SCM0 (375) 384
    MARKUP_LIST_HEAD_SCM0_LIST1 (376) 385
    MARKUP_LIST_HEAD_SCM0_SCM1_LIST2 (377) 386
    MULTI_MEASURE_REST (344) 195
    MUSIC_FUNCTION (379) 124 205
    MUSIC_IDENTIFIER (380) 101
    NOTENAME_PITCH (381) 223 257 258 259
    NUMBER_IDENTIFIER (382) 352 353 354 358
    OUTPUT_DEF_IDENTIFIER (383) 78
    PREC_BOT (260)
    PREC_TOP (258)
    REAL (384) 351 353
    RESTNAME (385) 319
    SCM_IDENTIFIER (386) 16 223
    SCM_TOKEN (387) 15
    SCORE_IDENTIFIER (388) 66
    STRING (389) 6 20 155 159 173 182 185 296 392
    STRING_IDENTIFIER (390) 183 187 395
    TONICNAME_PITCH (391) 260 261 262
    UNARY_MINUS (392)
    UNSIGNED (347) 289 295 350 354 355

    Nonterminals, with rules where they appear

    absolute_pitch (249)
        on left: 279, on right: 146
    alternative_music (185)
        on left: 93 94, on right: 95
    assignment (167)
        on left: 22 23, on right: 3 18 79
    assignment_id (166)
        on left: 20 21, on right: 22
    bare_number (277)
        on left: 350 351 352 353 354, on right: 190 349
    bare_unsigned (278)
        on left: 355 356, on right: 82 83 84 283 286 293 339 340 341 357
    bass_figure (259)
        on left: 301 302 303 304 305, on right: 303 304 305 310 311
    bass_number (257)
        on left: 294 295 296 297, on right: 302
    book_block (171)
        on left: 41, on right: 8 25
    book_body (172)
        on left: 42 43 44 45 46 47 48 49 50 51 52, on right: 41 44 45 46
        47 48 49 50 51 52
    bookpart_block (173)
        on left: 53, on right: 9 26 45
    bookpart_body (174)
        on left: 54 55 56 57 58 59 60 61 62 63, on right: 53 56 57 58 59
        60 61 62 63
    br_bass_figure (261)
        on left: 310 311, on right: 313
    chord_body (225)
        on left: 199, on right: 198
    chord_body_element (227)
        on left: 202 203 204, on right: 201 206
    chord_body_elements (226)
        on left: 200 201, on right: 199 201
    chord_item (271)
        on left: 334 335 336, on right: 329
    chord_items (269)
        on left: 328 329, on right: 327 329
    chord_separator (270)
        on left: 330 331 332 333, on right: 327 334
    command_element (231)
        on left: 210 211 212 213 214 215 216 217 218, on right: 196
    command_event (232)
        on left: 219 220 221 222 223, on right: 210
    composite_music (193)
        on left: 109 110, on right: 11 47 58 92 147
    context_change (211)
        on left: 155, on right: 103
    context_def_mod (215)
        on left: 163 164 165 166 167 168 169 170 171, on right: 173
    context_def_spec_block (169)
        on left: 36, on right: 28 80
    context_def_spec_body (170)
        on left: 37 38 39 40, on right: 36 39 40
    context_mod (216)
        on left: 172 173, on right: 40 108
    context_mod_list (192)
        on left: 107 108, on right: 106 108
    context_prop_spec (217)
        on left: 174 175, on right: 176 177 178 179
    direction_less_char (236)
        on left: 234 235 236 237 238 239 240 241 242 243,
        on right: 244
    direction_less_event (237)
        on left: 244 245 246, on right: 226 231
    direction_reqd_event (238)
        on left: 247 248, on right: 230
    dots (255)
        on left: 290 291, on right: 283 284 291
    duration_length (250)
        on left: 280, on right: 211 216
    embedded_scm (163)
        on left: 15 16, on right: 23 33 39 89 113 156 157 161 162 177 191
        384 385 386 388 389 398 399 400 401 402
    event_chord (223)
        on left: 194 195 196 197, on right: 100
    exclamations (280)
        on left: 359 360, on right: 202 317 360
    figure_list (262)
        on left: 312 313, on right: 313 314
    figure_spec (263)
        on left: 314, on right: 323
    figured_bass_alteration (258)
        on left: 298 299 300, on right: 304
    figured_bass_modification (260)
        on left: 306 307 308 309, on right: 305
    fraction (254)
        on left: 288 289, on right: 130 217
    full_markup (286)
        on left: 368 370, on right: 12 34 48 59 84 86 116 119 192 266 297
    full_markup_list (284)
        on left: 367, on right: 13 49 60
    function_arglist (199)
        on left: 121 122 123, on right: 115 116 117 124
    function_arglist_music_last (196)
        on left: 115, on right: 122
    function_arglist_nonmusic (198)
        on left: 118 119 120, on right: 119 120 206 207 208 209
    function_arglist_nonmusic_last (197)
        on left: 116 117, on right: 123
    function_scm_argument (195)
        on left: 113 114, on right: 117 120
    gen_text_def (246)
        on left: 266 267 268, on right: 247
    generic_prefix_music_scm (200)
        on left: 124, on right: 127
    grouped_music_list (194)
        on left: 111 112, on right: 110 133 134 149 151 152
    identifier_init (168)
        on left: 24 25 26 27 28 29 30 31 32 33 34 35, on right: 22
    lilypond (160)
        on left: 1 2 3 4 5, on right: 0 2 3 4 5
    lilypond_header (165)
        on left: 19, on right: 7 50 61 68
    lilypond_header_body (164)
        on left: 17 18, on right: 18 19
    lyric_element (267)
        on left: 324 325, on right: 320
    lyric_markup (282)
        on left: 363 365, on right: 324
    markup (298)
        on left: 406 407, on right: 380 401 402 405
    markup_braced_list (291)
        on left: 378, on right: 375 377
    markup_braced_list_body (292)
        on left: 379 380 381, on right: 378 380 381
    markup_command_list (293)
        on left: 382 383 384 385 386, on right: 376
    markup_composed_list (290)
        on left: 377, on right: 374
    markup_head_1_item (294)
        on left: 387 388 389, on right: 390 391
    markup_head_1_list (295)
        on left: 390 391, on right: 372 377 391 406
    markup_list (289)
        on left: 374 375 376, on right: 367 371 381 383 385 386 404
    markup_top (288)
        on left: 371 372 373, on right: 365 370
    mode_changing_head (203)
        on left: 137 138 139 140 141, on right: 133
    mode_changing_head_with_context (204)
        on left: 142 143 144 145, on right: 134
    multiplied_duration (253)
        on left: 285 286 287, on right: 280 282 286 287
    music (184)
        on left: 91 92, on right: 29 65 88 95 115 128 129 130 132 146 154
    music_function_chord_body (229)
        on left: 206 207, on right: 204
    music_function_event (230)
        on left: 208 209, on right: 227
    music_function_identifier_musicless_prefix (228)
        on left: 205, on right: 206 207 208 209
    music_list (183)
        on left: 87 88 89 90, on right: 88 89 90 94 96 97 98 99
    music_property_def (219)
        on left: 180 181, on right: 102
    new_chord (268)
        on left: 326 327, on right: 322
    new_lyrics (206)
        on left: 149 151, on right: 151 152
    note_chord_element (224)
        on left: 198, on right: 197
    number_expression (274)
        on left: 342 343 344, on right: 31 342 343
    number_factor (276)
        on left: 348 349, on right: 345 346 347 348
    number_term (275)
        on left: 345 346 347, on right: 342 343 344
    object_id_setting (161)
        on left: 6, on right: 52 63 67
    octave_check (239)
        on left: 249 250 251 252, on right: 202 317
    optional_context_mod (190)
        on left: 104 106, on right: 128 129 134
    optional_id (201)
        on left: 125 126, on right: 128 129
    optional_notemode_duration (251)
        on left: 281 282, on right: 195 198 317 318 319 320 323 326 327
    optional_rest (264)
        on left: 315 316, on right: 317
    output_def (178)
        on left: 72, on right: 14 27 69 71
    output_def_body (181)
        on left: 77 78 79 80 81, on right: 72 79 80 81
    output_def_head (179)
        on left: 73 74 75, on right: 76
    output_def_head_with_mode_switch (180)
        on left: 76, on right: 77 78
    paper_block (177)
        on left: 71, on right: 44 56
    pitch (244)
        on left: 263, on right: 202 264 317
    pitch_also_in_chords (245)
        on left: 264 265, on right: 132
    post_event (234)
        on left: 226 227 228 229 230 231 232, on right: 30 208 225
    post_events (233)
        on left: 224 225, on right: 194 195 198 202 203 225
    prefix_composite_music (202)
        on left: 127 128 129 130 131 132 133 134 135 136,
        on right: 109
    property_operation (214)
        on left: 159 160 161 162, on right: 172
    property_path (213)
        on left: 158, on right: 161 176
    property_path_revved (212)
        on left: 156 157, on right: 157 158
    questions (281)
        on left: 361 362, on right: 202 317 362
    re_rhythmed_music (209)
        on left: 152 154, on right: 136
    relative_music (205)
        on left: 146 147, on right: 135
    repeated_music (186)
        on left: 95, on right: 131
    scalar (222)
        on left: 188 189 190 191 192 193, on right: 159 176 178 218
    score_block (175)
        on left: 64, on right: 10 24 46 57
    score_body (176)
        on left: 65 66 67 68 69 70, on right: 64 67 68 69 70 397
    script_abbreviation (247)
        on left: 269 270 271 272 273 274 275, on right: 248
    script_dir (248)
        on left: 276 277 278, on right: 230 231
    sequential_music (187)
        on left: 96 97, on right: 112
    simple_chord_elements (266)
        on left: 321 322 323, on right: 194
    simple_element (265)
        on left: 317 318 319 320, on right: 321
    simple_markup (296)
        on left: 392 393 394 395 397 398 399 400 401 402 403 404 405,
        on right: 372 373 406 407
    simple_music (189)
        on left: 100 101 102 103, on right: 91
    simple_music_property_def (218)
        on left: 176 177 178 179, on right: 180 181
    simple_string (221)
        on left: 185 186 187, on right: 95 114 126 128 129 154 160 161
        162 174 175
    simultaneous_music (188)
        on left: 98 99, on right: 111
    steno_duration (252)
        on left: 283 284, on right: 82 83 84 285
    steno_pitch (242)
        on left: 257 258 259, on right: 263 279
    steno_tonic_pitch (243)
        on left: 260 261 262, on right: 265 326 327 332 333
    step_number (273)
        on left: 339 340 341, on right: 337 338
    step_numbers (272)
        on left: 337 338, on right: 335 338
    string (220)
        on left: 182 183 184, on right: 32 83 85 184 188 267
    string_number_event (235)
        on left: 233, on right: 232
    sub_quotes (241)
        on left: 255 256, on right: 251 256 259 262
    sup_quotes (240)
        on left: 253 254, on right: 252 254 258 261
    tempo_event (182)
        on left: 82 83 84 85 86, on right: 221
    toplevel_expression (162)
        on left: 7 8 9 10 11 12 13 14, on right: 2
    tremolo_type (256)
        on left: 292 293, on right: 246
    unsigned_number (279)
        on left: 357 358, on right: 95

#### Notation Reference