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

LilyPond — Contributor’s Guide v2.19.22 (development-branch).