C. 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: lilypond_header
   10                    | book_block
   11                    | bookpart_block
   12                    | score_block
   13                    | composite_music
   14                    | full_markup
   15                    | full_markup_list
   16                    | output_def

   17 embedded_scm_bare: SCM_TOKEN
   18                  | SCM_IDENTIFIER

   19 embedded_scm_bare_arg: embedded_scm_bare
   20                      | STRING
   21                      | STRING_IDENTIFIER
   22                      | full_markup
   23                      | full_markup_list
   24                      | context_modification
   25                      | score_block
   26                      | context_def_spec_block
   27                      | book_block
   28                      | bookpart_block
   29                      | output_def

   30 embedded_scm: embedded_scm_bare
   31             | scm_function_call

   32 embedded_scm_arg: embedded_scm_bare_arg
   33                 | scm_function_call
   34                 | music_arg

   35 scm_function_call: SCM_FUNCTION function_arglist

   36 embedded_lilypond: /* empty */
   37                  | identifier_init
   38                  | music music music_list
   39                  | error
   40                  | "\version-error" embedded_lilypond

   41 lilypond_header_body: /* empty */
   42                     | lilypond_header_body assignment

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

   44 assignment_id: STRING
   45              | LYRICS_STRING

   46 assignment: assignment_id '=' identifier_init
   47           | assignment_id property_path '=' identifier_init
   48           | embedded_scm

   49 identifier_init: score_block
   50                | book_block
   51                | bookpart_block
   52                | output_def
   53                | context_def_spec_block
   54                | music_assign
   55                | post_event_nofinger
   56                | number_expression
   57                | string
   58                | embedded_scm
   59                | full_markup
   60                | full_markup_list
   61                | context_modification

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

   63 context_def_spec_body: /* empty */
   64                      | CONTEXT_DEF_IDENTIFIER
   65                      | context_def_spec_body embedded_scm
   66                      | context_def_spec_body context_mod
   67                      | context_def_spec_body context_modification

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

   69 book_body: /* empty */
   70          | BOOK_IDENTIFIER
   71          | book_body paper_block
   72          | book_body bookpart_block
   73          | book_body score_block
   74          | book_body composite_music
   75          | book_body full_markup
   76          | book_body full_markup_list
   77          | book_body lilypond_header
   78          | book_body embedded_scm
   79          | book_body error

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

   81 bookpart_body: /* empty */
   82              | BOOK_IDENTIFIER
   83              | bookpart_body paper_block
   84              | bookpart_body score_block
   85              | bookpart_body composite_music
   86              | bookpart_body full_markup
   87              | bookpart_body full_markup_list
   88              | bookpart_body lilypond_header
   89              | bookpart_body embedded_scm
   90              | bookpart_body error

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

   92 score_body: music
   93           | SCORE_IDENTIFIER
   94           | score_body lilypond_header
   95           | score_body output_def
   96           | score_body error

   97 paper_block: output_def

   98 output_def: output_def_body '}'

   99 output_def_head: "\paper"
  100                | "\midi"
  101                | "\layout"

  102 output_def_head_with_mode_switch: output_def_head

  103 output_def_body: output_def_head_with_mode_switch '{'
  104                | output_def_head_with_mode_switch 
                         '{' 
                         OUTPUT_DEF_IDENTIFIER 
  105                | output_def_body assignment
  106                | output_def_body context_def_spec_block
  107                | output_def_body error

  108 tempo_event: "\tempo" steno_duration '=' tempo_range
  109            | "\tempo" scalar_closed steno_duration '=' tempo_range
  110            | "\tempo" scalar

  111 music_list: /* empty */
  112           | music_list music
  113           | music_list embedded_scm
  114           | music_list error

  115 braced_music_list: '{' music_list '}'

  116 music: music_arg
  117      | lyric_element_music

  118 music_arg: simple_music
  119          | composite_music

  120 music_assign: simple_music
  121             | composite_music
  122             | lyric_element_music

  123 repeated_music: "\repeat" simple_string unsigned_number music
  124               | "\repeat" 
                        simple_string 
                        unsigned_number 
                        music 
                        "\alternative" 
                        braced_music_list 

  125 sequential_music: "\sequential" braced_music_list
  126                 | braced_music_list

  127 simultaneous_music: "\simultaneous" braced_music_list
  128                   | "<<" music_list ">>"

  129 simple_music: event_chord
  130             | music_property_def
  131             | context_change

  133 context_modification: "\with"  '{' context_mod_list '}'
  134                     | "\with" CONTEXT_MOD_IDENTIFIER
  135                     | CONTEXT_MOD_IDENTIFIER
  136                     | "\with" embedded_scm_closed

  137 optional_context_mod: /* empty */
  138                     | context_modification

  139 context_mod_list: /* empty */
  140                 | context_mod_list context_mod
  141                 | context_mod_list CONTEXT_MOD_IDENTIFIER
  142                 | context_mod_list embedded_scm

  143 composite_music: complex_music
  144                | music_bare

  145 closed_music: music_bare
  146             | complex_music_prefix closed_music

  147 music_bare: mode_changed_music
  148           | MUSIC_IDENTIFIER
  149           | grouped_music_list

  150 grouped_music_list: simultaneous_music
  151                   | sequential_music

  152 function_arglist_skip: function_arglist_common
  153                      | "optional?" "ly:pitch?" function_arglist_skip
  154                      | "optional?" "ly:duration?" function_arglist_skip
  155                      | "optional?" "scheme?" function_arglist_skip

  156 function_arglist_nonbackup: "optional?" 
                                    "ly:pitch?" 
                                    function_arglist 
                                    pitch_also_in_chords 
  157                           | "optional?" 
                                    "ly:duration?" 
                                    function_arglist_closed 
                                    duration_length 
  158                           | "optional?" 
                                    "scheme?" 
                                    function_arglist 
                                    embedded_scm_arg_closed 
  159                           | "optional?" 
                                    "scheme?" 
                                    function_arglist_closed 
                                    bare_number_closed 
  160                           | "optional?" 
                                    "scheme?" 
                                    function_arglist_closed 
                                    FRACTION 
  161                           | "optional?" 
                                    "scheme?" 
                                    function_arglist_closed 
                                    post_event_nofinger 
  162                           | "optional?" 
                                    "scheme?" 
                                    function_arglist_closed 
                                    '-' 
                                    UNSIGNED 
  163                           | "optional?" 
                                    "scheme?" 
                                    function_arglist_closed 
                                    '-' 
                                    REAL 
  164                           | "optional?" 
                                    "scheme?" 
                                    function_arglist_closed 
                                    '-' 
                                    NUMBER_IDENTIFIER 

  165 function_arglist_keep: function_arglist_common
  166                      | function_arglist_backup

  167 function_arglist_closed_keep: function_arglist_closed_common
  168                             | function_arglist_backup

  169 function_arglist_backup: "optional?" 
                                 "scheme?" 
                                 function_arglist_keep 
                                 embedded_scm_arg_closed 
  170                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 post_event_nofinger 
  171                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_keep 
                                 lyric_element 
  172                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 UNSIGNED 
  173                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 REAL 
  174                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 NUMBER_IDENTIFIER 
  175                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 FRACTION 
  176                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 '-' 
                                 UNSIGNED 
  177                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 '-' 
                                 REAL 
  178                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 '-' 
                                 NUMBER_IDENTIFIER 
  179                        | "optional?" 
                                 "ly:pitch?" 
                                 function_arglist_keep 
                                 pitch_also_in_chords 
  180                        | "optional?" 
                                 "ly:duration?" 
                                 function_arglist_closed_keep 
                                 duration_length 
  181                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_backup 
                                 "(backed-up?)" 
  182                        | function_arglist_backup 
                                 "(reparsed?)" 
                                 embedded_scm_arg_closed 
  183                        | function_arglist_backup 
                                 "(reparsed?)" 
                                 bare_number 
  184                        | function_arglist_backup "(reparsed?)" fraction

  185 function_arglist: function_arglist_common
  186                 | function_arglist_nonbackup

  187 function_arglist_common: function_arglist_bare
  188                        | "scheme?" 
                                 function_arglist_optional 
                                 embedded_scm_arg 
  189                        | "scheme?" 
                                 function_arglist_closed_optional 
                                 bare_number 
  190                        | "scheme?" 
                                 function_arglist_closed_optional 
                                 fraction 
  191                        | "scheme?" 
                                 function_arglist_closed_optional 
                                 post_event_nofinger 
  192                        | function_arglist_common_minus
  193                        | function_arglist_common_lyric

  194 function_arglist_common_lyric: "scheme?" 
                                       function_arglist_optional 
                                       lyric_element 
  195                              | function_arglist_common_lyric 
                                       "(reparsed?)" 
                                       lyric_element_arg 

  196 function_arglist_common_minus: "scheme?" 
                                       function_arglist_closed_optional 
                                       '-' 
                                       UNSIGNED 
  197                              | "scheme?" 
                                       function_arglist_closed_optional 
                                       '-' 
                                       REAL 
  198                              | "scheme?" 
                                       function_arglist_closed_optional 
                                       '-' 
                                       NUMBER_IDENTIFIER 
  199                              | function_arglist_common_minus 
                                       "(reparsed?)" 
                                       bare_number 

  200 function_arglist_closed: function_arglist_closed_common
  201                        | function_arglist_nonbackup

  202 function_arglist_closed_common: function_arglist_bare
  203                               | "scheme?" 
                                        function_arglist_optional 
                                        embedded_scm_arg_closed 
  204                               | "scheme?" 
                                        function_arglist_closed_optional 
                                        bare_number 
  205                               | "scheme?" 
                                        function_arglist_closed_optional 
                                        '-' 
                                        UNSIGNED 
  206                               | "scheme?" 
                                        function_arglist_closed_optional 
                                        '-' 
                                        REAL 
  207                               | "scheme?" 
                                        function_arglist_closed_optional 
                                        '-' 
                                        NUMBER_IDENTIFIER 
  208                               | "scheme?" 
                                        function_arglist_closed_optional 
                                        post_event_nofinger 
  209                               | "scheme?" 
                                        function_arglist_closed_optional 
                                        fraction 
  210                               | "scheme?" 
                                        function_arglist_optional 
                                        lyric_element 

  211 function_arglist_optional: function_arglist_keep
  212                          | function_arglist_backup "(backed-up?)"
  213                          | "optional?" 
                                   "ly:pitch?" 
                                   function_arglist_optional 
  214                          | "optional?" 
                                   "ly:duration?" 
                                   function_arglist_optional 

  215 function_arglist_closed_optional: function_arglist_closed_keep
  216                                 | function_arglist_backup 
                                          "(backed-up?)" 
  217                                 | "optional?" 
                                          "ly:pitch?" 
                                          function_arglist_closed_optional 
  218                                 | "optional?" 
                                          "ly:duration?" 
                                          function_arglist_closed_optional 

  219 embedded_scm_closed: embedded_scm_bare
  220                    | scm_function_call_closed

  221 embedded_scm_arg_closed: embedded_scm_bare_arg
  222                        | scm_function_call_closed
  223                        | closed_music

  224 scm_function_call_closed: SCM_FUNCTION function_arglist_closed

  225 function_arglist_bare: EXPECT_NO_MORE_ARGS
  226                      | "ly:pitch?" 
                               function_arglist_optional 
                               pitch_also_in_chords 
  227                      | "ly:duration?" 
                               function_arglist_closed_optional 
                               duration_length 
  228                      | "optional?" 
                               "ly:pitch?" 
                               function_arglist_skip 
                               "\default" 
  229                      | "optional?" 
                               "ly:duration?" 
                               function_arglist_skip 
                               "\default" 
  230                      | "optional?" 
                               "scheme?" 
                               function_arglist_skip 
                               "\default" 

  231 music_function_call: MUSIC_FUNCTION function_arglist

  232 optional_id: /* empty */
  233            | '=' simple_string

  234 complex_music: music_function_call
  235              | repeated_music
  236              | re_rhythmed_music
  237              | complex_music_prefix music

  238 complex_music_prefix: "\context" 
                              simple_string 
                              optional_id 
                              optional_context_mod 
  239                     | "\new" 
                              simple_string 
                              optional_id 
                              optional_context_mod 

  240 mode_changed_music: mode_changing_head grouped_music_list
  241                   | mode_changing_head_with_context 
                            optional_context_mod 
                            grouped_music_list 

  242 mode_changing_head: "\notemode"
  243                   | "\drummode"
  244                   | "\figuremode"
  245                   | "\chordmode"
  246                   | "\lyricmode"

  247 mode_changing_head_with_context: "\drums"
  248                                | "\figures"
  249                                | "\chords"
  250                                | "\lyrics"

  252 new_lyrics: "\addlyrics"  composite_music

  254 new_lyrics: new_lyrics "\addlyrics"  composite_music

  255 re_rhythmed_music: composite_music new_lyrics

  257 re_rhythmed_music: "\lyricsto" simple_string  music

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

  259 property_path_revved: embedded_scm_closed
  260                     | property_path_revved embedded_scm_closed

  261 property_path: property_path_revved

  262 property_operation: STRING '=' scalar
  263                   | "\unset" simple_string
  264                   | "\override" simple_string property_path '=' scalar
  265                   | "\revert" simple_string embedded_scm

  266 context_def_mod: "\consists"
  267                | "\remove"
  268                | "\accepts"
  269                | "\defaultchild"
  270                | "\denies"
  271                | "\alias"
  272                | "\type"
  273                | "\description"
  274                | "\name"

  275 context_mod: property_operation
  276            | context_def_mod STRING
  277            | context_def_mod embedded_scm

  278 context_prop_spec: simple_string
  279                  | simple_string '.' simple_string

  280 simple_music_property_def: "\override" 
                                   context_prop_spec 
                                   property_path 
                                   '=' 
                                   scalar 
  281                          | "\revert" context_prop_spec embedded_scm
  282                          | "\set" context_prop_spec '=' scalar
  283                          | "\unset" context_prop_spec

  284 music_property_def: simple_music_property_def

  285 string: STRING
  286       | STRING_IDENTIFIER
  287       | string '+' string

  288 simple_string: STRING
  289              | LYRICS_STRING
  290              | STRING_IDENTIFIER

  291 scalar: embedded_scm_arg
  292       | bare_number
  293       | lyric_element

  294 scalar_closed: embedded_scm_arg_closed
  295              | bare_number
  296              | lyric_element

  297 event_chord: simple_element post_events
  298            | simple_chord_elements post_events
  299            | CHORD_REPETITION optional_notemode_duration post_events
  300            | MULTI_MEASURE_REST optional_notemode_duration post_events
  301            | command_element
  302            | note_chord_element

  303 note_chord_element: chord_body optional_notemode_duration post_events

  304 chord_body: "<" chord_body_elements ">"

  305 chord_body_elements: /* empty */
  306                    | chord_body_elements chord_body_element

  307 chord_body_element: pitch 
                            exclamations 
                            questions 
                            octave_check 
                            post_events 
  308                   | DRUM_PITCH post_events
  309                   | music_function_chord_body

  310 music_function_chord_body: music_function_call
  311                          | MUSIC_IDENTIFIER

  312 music_function_event: MUSIC_FUNCTION function_arglist_closed

  313 event_function_event: EVENT_FUNCTION function_arglist_closed

  314 command_element: command_event
  315                | "\["
  316                | "\]"
  317                | "\"
  318                | '|'

  319 command_event: "\~"
  320              | tempo_event

  321 post_events: /* empty */
  322            | post_events post_event

  323 post_event_nofinger: direction_less_event
  324                    | script_dir music_function_event
  325                    | "--"
  326                    | "__"
  327                    | script_dir direction_reqd_event
  328                    | script_dir direction_less_event
  329                    | string_number_event
  330                    | '^' fingering
  331                    | '_' fingering

  332 post_event: post_event_nofinger
  333           | '-' fingering

  334 string_number_event: E_UNSIGNED

  335 direction_less_char: '['
  336                    | ']'
  337                    | '~'
  338                    | '('
  339                    | ')'
  340                    | "\!"
  341                    | "\("
  342                    | "\)"
  343                    | "\>"
  344                    | "\<"

  345 direction_less_event: direction_less_char
  346                     | EVENT_IDENTIFIER
  347                     | tremolo_type
  348                     | event_function_event

  349 direction_reqd_event: gen_text_def
  350                     | script_abbreviation

  351 octave_check: /* empty */
  352             | '='
  353             | '=' sub_quotes
  354             | '=' sup_quotes

  355 sup_quotes: '''
  356           | sup_quotes '''

  357 sub_quotes: ','
  358           | sub_quotes ','

  359 steno_pitch: NOTENAME_PITCH
  360            | NOTENAME_PITCH sup_quotes
  361            | NOTENAME_PITCH sub_quotes

  362 steno_tonic_pitch: TONICNAME_PITCH
  363                  | TONICNAME_PITCH sup_quotes
  364                  | TONICNAME_PITCH sub_quotes

  365 pitch: steno_pitch
  366      | PITCH_IDENTIFIER

  367 pitch_also_in_chords: pitch
  368                     | steno_tonic_pitch

  369 gen_text_def: full_markup
  370             | simple_string

  371 fingering: UNSIGNED

  372 script_abbreviation: '^'
  373                    | '+'
  374                    | '-'
  375                    | '|'
  376                    | ">"
  377                    | '.'
  378                    | '_'

  379 script_dir: '_'
  380           | '^'
  381           | '-'

  382 duration_length: multiplied_duration

  383 maybe_notemode_duration: /* empty */
  384                        | multiplied_duration

  385 optional_notemode_duration: maybe_notemode_duration

  386 steno_duration: bare_unsigned dots
  387               | DURATION_IDENTIFIER dots

  388 multiplied_duration: steno_duration
  389                    | multiplied_duration '*' bare_unsigned
  390                    | multiplied_duration '*' FRACTION

  391 fraction: FRACTION
  392         | UNSIGNED '/' UNSIGNED

  393 dots: /* empty */
  394     | dots '.'

  395 tremolo_type: ':'
  396             | ':' bare_unsigned

  397 bass_number: UNSIGNED
  398            | STRING
  399            | full_markup

  400 figured_bass_alteration: '-'
  401                        | '+'
  402                        | '!'

  403 bass_figure: "_"
  404            | bass_number
  405            | bass_figure ']'
  406            | bass_figure figured_bass_alteration
  407            | bass_figure figured_bass_modification

  408 figured_bass_modification: "\+"
  409                          | "\!"
  410                          | '/'
  411                          | "\"

  412 br_bass_figure: bass_figure
  413               | '[' bass_figure

  414 figure_list: /* empty */
  415            | figure_list br_bass_figure

  416 figure_spec: FIGURE_OPEN figure_list FIGURE_CLOSE

  417 optional_rest: /* empty */
  418              | "\rest"

  419 simple_element: pitch 
                        exclamations 
                        questions 
                        octave_check 
                        maybe_notemode_duration 
                        optional_rest 
  420               | DRUM_PITCH optional_notemode_duration
  421               | RESTNAME optional_notemode_duration

  422 simple_chord_elements: new_chord
  423                      | figure_spec optional_notemode_duration

  424 lyric_element: lyric_markup
  425              | LYRICS_STRING

  426 lyric_element_arg: lyric_element
  427                  | lyric_element multiplied_duration post_events
  428                  | lyric_element post_event post_events
  429                  | LYRIC_ELEMENT optional_notemode_duration post_events

  430 lyric_element_music: lyric_element 
                             optional_notemode_duration 
                             post_events 

  431 new_chord: steno_tonic_pitch optional_notemode_duration
  432          | steno_tonic_pitch 
                   optional_notemode_duration 
                   chord_separator 
                   chord_items 

  433 chord_items: /* empty */
  434            | chord_items chord_item

  435 chord_separator: ":"
  436                | "^"
  437                | "/" steno_tonic_pitch
  438                | "/+" steno_tonic_pitch

  439 chord_item: chord_separator
  440           | step_numbers
  441           | CHORD_MODIFIER

  442 step_numbers: step_number
  443             | step_numbers '.' step_number

  444 step_number: bare_unsigned
  445            | bare_unsigned '+'
  446            | bare_unsigned "-"

  447 tempo_range: bare_unsigned
  448            | bare_unsigned '~' bare_unsigned

  449 number_expression: number_expression '+' number_term
  450                  | number_expression '-' number_term
  451                  | number_term

  452 number_term: number_factor
  453            | number_factor '*' number_factor
  454            | number_factor '/' number_factor

  455 number_factor: '-' number_factor
  456              | bare_number

  457 bare_number: bare_number_closed
  458            | UNSIGNED NUMBER_IDENTIFIER
  459            | REAL NUMBER_IDENTIFIER

  460 bare_number_closed: UNSIGNED
  461                   | REAL
  462                   | NUMBER_IDENTIFIER

  463 bare_unsigned: UNSIGNED

  464 unsigned_number: UNSIGNED
  465                | NUMBER_IDENTIFIER

  466 exclamations: /* empty */
  467             | exclamations '!'

  468 questions: /* empty */
  469          | questions '?'

  470 lyric_markup: LYRIC_MARKUP_IDENTIFIER

  472 lyric_markup: LYRIC_MARKUP  markup_top

  473 full_markup_list: MARKUPLIST_IDENTIFIER

  475 full_markup_list: "\markuplist"  markup_list

  476 full_markup: MARKUP_IDENTIFIER

  478 full_markup: "\markup"  markup_top

  479 markup_top: markup_list
  480           | markup_head_1_list simple_markup
  481           | simple_markup

  483 markup_scm: embedded_scm_bare  "(backed-up?)"

  484 markup_list: MARKUPLIST_IDENTIFIER
  485            | markup_composed_list
  486            | markup_braced_list
  487            | markup_command_list
  488            | markup_scm MARKUPLIST_IDENTIFIER

  489 markup_composed_list: markup_head_1_list markup_braced_list

  490 markup_braced_list: '{' markup_braced_list_body '}'

  491 markup_braced_list_body: /* empty */
  492                        | markup_braced_list_body markup
  493                        | markup_braced_list_body markup_list

  494 markup_command_list: MARKUP_LIST_FUNCTION markup_command_list_arguments

  495 markup_command_basic_arguments: "markup-list?" 
                                        markup_command_list_arguments 
                                        markup_list 
  496                               | "scheme?" 
                                        markup_command_list_arguments 
                                        embedded_scm_closed 
  497                               | EXPECT_NO_MORE_ARGS

  498 markup_command_list_arguments: markup_command_basic_arguments
  499                              | "markup?" 
                                       markup_command_list_arguments 
                                       markup 

  500 markup_head_1_item: MARKUP_FUNCTION 
                            "markup?" 
                            markup_command_list_arguments 

  501 markup_head_1_list: markup_head_1_item
  502                   | markup_head_1_list markup_head_1_item

  503 simple_markup: STRING
  504              | MARKUP_IDENTIFIER
  505              | LYRIC_MARKUP_IDENTIFIER
  506              | STRING_IDENTIFIER

  508 simple_markup: "\score" 0 '{' score_body '}'
  509              | MARKUP_FUNCTION markup_command_basic_arguments
  510              | markup_scm MARKUP_IDENTIFIER

  511 markup: markup_head_1_list simple_markup
  512       | simple_markup


Terminals, with rules where they appear



    170 171 172 173 174 175 176 177 178 179 180 181 213 214 217 218
    174 175 176 177 178 181 188 189 190 191 194 196 197 198 203 204
    205 206 207 208 209 210 230 496
    228 229 230
    400 450 455
"#{" (352) 3
"(backed-up?)" (347) 181 212 216 483
"(reparsed?)" (348) 182 183 184 195 199
"-" (317) 446
"--" (338) 325
"/" (318) 437
"/+" (314) 438
":" (316) 435
"<" (319) 304
"<<" (321) 128
">" (320) 304 376
">>" (322) 128
"\!" (327) 340 409
"\" (323) 317 411
"\(" (329) 341
"\)" (326) 342
"\+" (332) 408
"\<" (331) 344
"\>" (324) 343
"\[" (328) 315
"\]" (330) 316
"\accepts" (273) 268
"\addlyrics" (262) 252 254
"\alias" (274) 271
"\alternative" (260) 124
"\book" (275) 68
"\bookpart" (276) 80
"\C[haracter]" (325)
"\change" (277) 258
"\chordmode" (278) 245
"\chords" (279) 249
"\consists" (280) 266
"\context" (281) 62 238
"\default" (263) 228 229 230
"\defaultchild" (282) 269
"\denies" (283) 270
"\description" (284) 273
"\drummode" (285) 243
"\drums" (286) 247
"\figuremode" (287) 244
"\figures" (288) 248
"\header" (289) 43
"\layout" (291) 101
"\lyricmode" (292) 246
"\lyrics" (293) 250
"\lyricsto" (294) 257
"\markup" (295) 478
"\markuplist" (296) 475
"\midi" (297) 100
"\name" (298) 274
"\new" (313) 239
"\notemode" (299) 242
"\override" (300) 264 280
"\paper" (301) 99
"\remove" (302) 267
"\repeat" (259) 123 124
"\rest" (303) 418
"\revert" (304) 265 281
"\score" (305) 91 508
"\sequential" (306) 125
"\set" (307) 282
"\simultaneous" (308) 127
"\tempo" (309) 108 109 110
"\type" (310) 272
"\unset" (311) 263 283
"\version-error" (290) 8 40
"\with" (312) 133 134 136
"\~" (333) 319
"^" (315) 436
"_" (337) 403
"__" (334) 326
"ly:duration?" (345) 154 157 180 214 218 227 229
"ly:pitch?" (344) 153 156 179 213 217 226 228
"markup-list?" (349) 495
"markup?" (343) 499 500
"optional?" (350) 153 154 155 156 157 158 159 160 161 162 163 164 169
"scheme?" (346) 155 158 159 160 161 162 163 164 169 170 171 172 173
$end (0) 0
'!' (33) 402 467
''' (39) 355 356
'(' (40) 338
')' (41) 339
'*' (42) 389 390 453
'+' (43) 287 373 401 445 449
',' (44) 357 358
'-' (45) 162 163 164 176 177 178 196 197 198 205 206 207 333 374 381
'.' (46) 279 377 394 443
'/' (47) 392 410 454
':' (58) 395 396
'=' (61) 46 47 108 109 233 258 262 264 280 282 352 353 354
'?' (63) 469
'[' (91) 335 413
']' (93) 336 405
'^' (94) 330 372 380
'_' (95) 331 378 379
'{' (123) 43 62 68 80 91 103 104 115 133 490 508
'|' (124) 318 375
'}' (125) 43 62 68 80 91 98 115 133 490 508
'~' (126) 337 448
BOOK_IDENTIFIER (353) 70 82
CHORD_MODIFIER (355) 441
CHORD_REPETITION (356) 299
CHORDMODIFIER_PITCH (354)
CHORDMODIFIERS (339)
COMPOSITE (261)
CONTEXT_DEF_IDENTIFIER (357) 64
CONTEXT_MOD_IDENTIFIER (358) 134 135 141
DRUM_PITCH (359) 308 420
DURATION_IDENTIFIER (265) 387
E_UNSIGNED (342) 334
error (256) 7 39 79 90 96 107 114
EVENT_FUNCTION (361) 313
EVENT_IDENTIFIER (360) 346
EXPECT_NO_MORE_ARGS (351) 225 497
FIGURE_CLOSE (335) 416
FIGURE_OPEN (336) 416
FRACTION (362) 160 175 390 391
FUNCTION_ARGLIST (264)
LYRIC_ELEMENT (364) 429
LYRIC_MARKUP (340) 472
LYRIC_MARKUP_IDENTIFIER (365) 470 505
LYRICS_STRING (363) 45 289 425
MARKUP_FUNCTION (366) 500 509
MARKUP_IDENTIFIER (368) 476 504 510
MARKUP_LIST_FUNCTION (367) 494
MARKUPLIST_IDENTIFIER (369) 473 484 488
MULTI_MEASURE_REST (341) 300
MUSIC_FUNCTION (370) 231 312
MUSIC_IDENTIFIER (371) 148 311
NOTENAME_PITCH (269) 359 360 361
NUMBER_IDENTIFIER (271) 164 174 178 198 207 458 459 462 465
OUTPUT_DEF_IDENTIFIER (372) 104
PITCH_IDENTIFIER (270) 366
PREC_BOT (258)
PREC_TOP (272)
REAL (266) 163 173 177 197 206 459 461
RESTNAME (373) 421
SCM_FUNCTION (374) 35 224
SCM_IDENTIFIER (375) 18
SCM_TOKEN (376) 17
SCORE_IDENTIFIER (377) 93
STRING (378) 20 44 258 262 276 285 288 398 503
STRING_IDENTIFIER (379) 21 286 290 506
TONICNAME_PITCH (268) 362 363 364
UNARY_MINUS (380)
UNSIGNED (267) 162 172 176 196 205 371 392 397 458 460 463 464

Nonterminals, with rules where they appear


assignment (161)
    on left: 46 47 48, on right: 6 42 105
assignment_id (160)
    on left: 44 45, on right: 46 47
bare_number_closed (296)
    on left: 460 461 462, on right: 159 457
bass_number (272)
    on left: 397 398 399, on right: 404
book_block (165)
    on left: 68, on right: 10 27 50
bookpart_block (167)
    on left: 80, on right: 11 28 51 72
br_bass_figure (276)
    on left: 412 413, on right: 415
braced_music_list (178)
    on left: 115, on right: 124 125 126 127
chord_body (238)
    on left: 304, on right: 303
chord_body_element (240)
    on left: 307 308 309, on right: 306
chord_body_elements (239)
    on left: 305 306, on right: 304 306
chord_item (288)
    on left: 439 440 441, on right: 434
chord_items (286)
    on left: 433 434, on right: 432 434
chord_separator (287)
    on left: 435 436 437 438, on right: 432 439
closed_music (191)
    on left: 145 146, on right: 146 223
command_element (244)
    on left: 314 315 316 317 318, on right: 301
command_event (245)
    on left: 319 320, on right: 314
complex_music (213)
    on left: 234 235 236 237, on right: 143
complex_music_prefix (214)
    on left: 238 239, on right: 146 237
context_change (223)
    on left: 258, on right: 131
context_def_spec_block (163)
    on left: 62, on right: 26 53 106
context_mod (228)
    on left: 275 276 277, on right: 66 140
context_prop_spec (229)
    on left: 278 279, on right: 280 281 282 283
direction_less_event (251)
    on left: 345 346 347 348, on right: 323 328
direction_reqd_event (252)
    on left: 349 350, on right: 327
dots (270)
    on left: 393 394, on right: 386 387 394
duration_length (264)
    on left: 382, on right: 157 180 227
embedded_lilypond (157)
    on left: 36 37 38 39 40, on right: 3 40
embedded_scm_arg (155)
    on left: 32 33 34, on right: 188 291
embedded_scm_bare (152)
    on left: 17 18, on right: 19 30 219 483
embedded_scm_closed (207)
    on left: 219 220, on right: 136 259 260 496
event_chord (236)
    on left: 297 298 299 300 301 302, on right: 129
event_function_event (243)
    on left: 313, on right: 348
exclamations (299)
    on left: 466 467, on right: 307 419 467
figure_list (277)
    on left: 414 415, on right: 415 416
figure_spec (278)
    on left: 416, on right: 423
figured_bass_alteration (273)
    on left: 400 401 402, on right: 406
figured_bass_modification (275)
    on left: 408 409 410 411, on right: 407
fingering (261)
    on left: 371, on right: 330 331 333
fraction (269)
    on left: 391 392, on right: 184 190 209
full_markup (305)
    on left: 476 478, on right: 14 22 59 75 86 369 399
full_markup_list (303)
    on left: 473 475, on right: 15 23 60 76 87
function_arglist (199)
    on left: 185 186, on right: 35 156 158 231
function_arglist_common_lyric (201)
    on left: 194 195, on right: 193 195
function_arglist_keep (196)
    on left: 165 166, on right: 169 171 179 211
gen_text_def (260)
    on left: 369 370, on right: 349
grouped_music_list (193)
    on left: 150 151, on right: 149 240 241
lilypond (150)
    on left: 4 5 6 7 8, on right: 1 5 6 7 8
lilypond_header (159)
    on left: 43, on right: 9 77 88 94
lilypond_header_body (158)
    on left: 41 42, on right: 42 43
lyric_element_arg (283)
    on left: 426 427 428 429, on right: 195
lyric_element_music (284)
    on left: 430, on right: 117 122
lyric_markup (301)
    on left: 470 472, on right: 424
markup (321)
    on left: 511 512, on right: 492 499
markup_braced_list (312)
    on left: 490, on right: 486 489
markup_braced_list_body (313)
    on left: 491 492 493, on right: 490 492 493
markup_command_list (314)
    on left: 494, on right: 487
markup_composed_list (311)
    on left: 489, on right: 485
markup_head_1_item (317)
    on left: 500, on right: 501 502
markup_head_1_list (318)
    on left: 501 502, on right: 480 489 502 511
markup_list (310)
    on left: 484 485 486 487 488, on right: 475 479 493 495
markup_scm (308)
    on left: 483, on right: 488 510
markup_top (307)
    on left: 479 480 481, on right: 472 478
maybe_notemode_duration (265)
    on left: 383 384, on right: 385 419
mode_changed_music (215)
    on left: 240 241, on right: 147
mode_changing_head (216)
    on left: 242 243 244 245 246, on right: 240
music (179)
    on left: 116 117, on right: 38 92 112 123 124 237 257
music_arg (180)
    on left: 118 119, on right: 34 116
music_assign (181)
    on left: 120 121 122, on right: 54
music_bare (192)
    on left: 147 148 149, on right: 144 145
music_function_call (211)
    on left: 231, on right: 234 310
music_function_chord_body (241)
    on left: 310 311, on right: 309
music_function_event (242)
    on left: 312, on right: 324
music_property_def (231)
    on left: 284, on right: 130
new_chord (285)
    on left: 431 432, on right: 422
new_lyrics (218)
    on left: 252 254, on right: 254 255
note_chord_element (237)
    on left: 303, on right: 302
number_expression (292)
    on left: 449 450 451, on right: 56 449 450
number_factor (294)
    on left: 455 456, on right: 452 453 454 455
number_term (293)
    on left: 452 453 454, on right: 449 450 451
octave_check (253)
    on left: 351 352 353 354, on right: 307 419
optional_context_mod (188)
    on left: 137 138, on right: 238 239 241
optional_id (212)
    on left: 232 233, on right: 238 239
optional_rest (279)
    on left: 417 418, on right: 419
output_def (172)
    on left: 98, on right: 16 29 52 95 97
output_def_head (173)
    on left: 99 100 101, on right: 102
output_def_head_with_mode_switch (174)
    on left: 102, on right: 103 104
paper_block (171)
    on left: 97, on right: 71 83
pitch (258)
    on left: 365 366, on right: 307 367 419
pitch_also_in_chords (259)
    on left: 367 368, on right: 156 179 226
post_event (248)
    on left: 332 333, on right: 322 428
property_operation (226)
    on left: 262 263 264 265, on right: 275
property_path (225)
    on left: 261, on right: 47 264 280
property_path_revved (224)
    on left: 259 260, on right: 260 261
questions (300)
    on left: 468 469, on right: 307 419 469
re_rhythmed_music (221)
    on left: 255 257, on right: 236
repeated_music (182)
    on left: 123 124, on right: 235
scalar (234)
    on left: 291 292 293, on right: 110 262 264 280 282
scalar_closed (235)
    on left: 294 295 296, on right: 109
scm_function_call (156)
    on left: 35, on right: 31 33
scm_function_call_closed (209)
    on left: 224, on right: 220 222
score_block (169)
    on left: 91, on right: 12 25 49 73 84
score_body (170)
    on left: 92 93 94 95 96, on right: 91 94 95 96 508
script_dir (263)
    on left: 379 380 381, on right: 324 327 328
sequential_music (183)
    on left: 125 126, on right: 151
simple_chord_elements (281)
    on left: 422 423, on right: 298
simple_element (280)
    on left: 419 420 421, on right: 297
simple_music (185)
    on left: 129 130 131, on right: 118 120
simple_music_property_def (230)
    on left: 280 281 282 283, on right: 284
simultaneous_music (184)
    on left: 127 128, on right: 150
start_symbol (148)
    on left: 1 3, on right: 0
steno_duration (267)
    on left: 386 387, on right: 108 109 388
steno_pitch (256)
    on left: 359 360 361, on right: 365
step_number (290)
    on left: 444 445 446, on right: 442 443
step_numbers (289)
    on left: 442 443, on right: 440 443
string (232)
    on left: 285 286 287, on right: 57 287
string_number_event (249)
    on left: 334, on right: 329
sub_quotes (255)
    on left: 357 358, on right: 353 358 361 364
sup_quotes (254)
    on left: 355 356, on right: 354 356 360 363
tempo_event (176)
    on left: 108 109 110, on right: 320
tempo_range (291)
    on left: 447 448, on right: 108 109
toplevel_expression (151)
    on left: 9 10 11 12 13 14 15 16, on right: 5
tremolo_type (271)
    on left: 395 396, on right: 347
unsigned_number (298)
    on left: 464 465, on right: 123 124

Andere talen: deutsch, español, français, italiano, 日本語.

LilyPond — Notation Reference