C. Gramática de LilyPond

Este apéndice contiene una descripción de la gramática del lenguaje de LilyPond, tal y como el analizador sintáctico la proporciona como salida.

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                    | score_block
   14                    | composite_music
   15                    | full_markup
   16                    | full_markup_list
   17                    | output_def

   18 embedded_scm_bare: SCM_TOKEN
   19                  | SCM_IDENTIFIER

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

   31 embedded_scm: embedded_scm_bare
   32             | scm_function_call

   33 embedded_scm_arg: embedded_scm_bare_arg
   34                 | scm_function_call
   35                 | music_arg

   36 scm_function_call: SCM_FUNCTION function_arglist

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

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

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

   45 assignment_id: STRING
   46              | LYRICS_STRING

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

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

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

   65 context_mod_arg: embedded_scm
   66                | composite_music

   67 context_mod_embedded: context_mod_arg

   68 context_def_spec_body: /* empty */
   69                      | CONTEXT_DEF_IDENTIFIER
   70                      | context_def_spec_body context_mod
   71                      | context_def_spec_body context_modification
   72                      | context_def_spec_body context_mod_embedded

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

   74 book_body: /* empty */
   75          | BOOK_IDENTIFIER
   76          | book_body paper_block
   77          | book_body bookpart_block
   78          | book_body score_block
   79          | book_body composite_music
   80          | book_body full_markup
   81          | book_body full_markup_list

   83 book_body: book_body  lilypond_header
   84          | book_body embedded_scm
   85          | book_body error

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

   87 bookpart_body: /* empty */
   88              | BOOK_IDENTIFIER
   89              | bookpart_body paper_block
   90              | bookpart_body score_block
   91              | bookpart_body composite_music
   92              | bookpart_body full_markup
   93              | bookpart_body full_markup_list

   95 bookpart_body: bookpart_body  lilypond_header
   96              | bookpart_body embedded_scm
   97              | bookpart_body error

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

   99 score_body: music
  100           | SCORE_IDENTIFIER

  102 score_body: score_body  lilypond_header
  103           | score_body output_def
  104           | score_body error

  105 paper_block: output_def

  106 output_def: output_def_body '}'

  107 output_def_head: "\paper"
  108                | "\midi"
  109                | "\layout"

  110 output_def_head_with_mode_switch: output_def_head

  111 music_or_context_def: music_arg

  113 music_or_context_def: "\context"  '{' context_def_spec_body '}'

  114 output_def_body: output_def_head_with_mode_switch '{'
  115                | output_def_head_with_mode_switch 
                         '{' 
                         OUTPUT_DEF_IDENTIFIER 
  116                | output_def_body assignment

  118 output_def_body: output_def_body  music_or_context_def
  119                | output_def_body error

  120 tempo_event: "\tempo" steno_duration '=' tempo_range
  121            | "\tempo" scalar_closed steno_duration '=' tempo_range
  122            | "\tempo" scalar

  123 music_list: /* empty */
  124           | music_list music_embedded
  125           | music_list error

  126 braced_music_list: '{' music_list '}'

  127 music: music_arg
  128      | lyric_element_music

  129 music_embedded: music
  130               | embedded_scm

  131 music_arg: simple_music
  132          | composite_music

  133 music_assign: simple_music
  134             | composite_music
  135             | lyric_element_music

  136 repeated_music: "\repeat" simple_string unsigned_number music
  137               | "\repeat" 
                        simple_string 
                        unsigned_number 
                        music 
                        "\alternative" 
                        braced_music_list 

  138 sequential_music: "\sequential" braced_music_list
  139                 | braced_music_list

  140 simultaneous_music: "\simultaneous" braced_music_list
  141                   | "<<" music_list ">>"

  142 simple_music: event_chord
  143             | music_property_def
  144             | context_change

  146 context_modification: "\with"  '{' context_mod_list '}'
  147                     | "\with" CONTEXT_MOD_IDENTIFIER
  148                     | CONTEXT_MOD_IDENTIFIER
  149                     | "\with" embedded_scm_closed

  150 optional_context_mod: /* empty */
  151                     | context_modification

  152 context_mod_list: /* empty */
  153                 | context_mod_list context_mod
  154                 | context_mod_list CONTEXT_MOD_IDENTIFIER
  155                 | context_mod_list context_mod_embedded

  156 composite_music: complex_music
  157                | music_bare

  158 closed_music: music_bare
  159             | complex_music_prefix closed_music
  160             | music_function_call_closed

  161 music_bare: mode_changed_music
  162           | MUSIC_IDENTIFIER
  163           | grouped_music_list

  164 grouped_music_list: simultaneous_music
  165                   | sequential_music

  166 function_arglist_skip: function_arglist_common
  167                      | "optional?" "ly:pitch?" function_arglist_skip
  168                      | "optional?" "ly:duration?" function_arglist_skip
  169                      | "optional?" "scheme?" function_arglist_skip

  170 function_arglist_nonbackup_common: "optional?" 
                                           "ly:pitch?" 
                                           function_arglist 
                                           pitch_also_in_chords 
  171                                  | "optional?" 
                                           "ly:duration?" 
                                           function_arglist_closed 
                                           duration_length 
  172                                  | "optional?" 
                                           "scheme?" 
                                           function_arglist_closed 
                                           FRACTION 
  173                                  | "optional?" 
                                           "scheme?" 
                                           function_arglist_closed 
                                           post_event_nofinger 
  174                                  | "optional?" 
                                           "scheme?" 
                                           function_arglist_closed 
                                           '-' 
                                           UNSIGNED 
  175                                  | "optional?" 
                                           "scheme?" 
                                           function_arglist_closed 
                                           '-' 
                                           REAL 
  176                                  | "optional?" 
                                           "scheme?" 
                                           function_arglist_closed 
                                           '-' 
                                           NUMBER_IDENTIFIER 

  177 function_arglist_closed_nonbackup: function_arglist_nonbackup_common
  178                                  | "optional?" 
                                           "scheme?" 
                                           function_arglist 
                                           embedded_scm_arg_closed 
  179                                  | "optional?" 
                                           "scheme?" 
                                           function_arglist_closed 
                                           bare_number_closed 

  180 function_arglist_nonbackup: function_arglist_nonbackup_common
  181                           | "optional?" 
                                    "scheme?" 
                                    function_arglist 
                                    embedded_scm_arg 
  182                           | "optional?" 
                                    "scheme?" 
                                    function_arglist_closed 
                                    bare_number 

  183 function_arglist_keep: function_arglist_common
  184                      | function_arglist_backup

  185 function_arglist_closed_keep: function_arglist_closed_common
  186                             | function_arglist_backup

  187 function_arglist_backup: "optional?" 
                                 "scheme?" 
                                 function_arglist_keep 
                                 embedded_scm_arg_closed 
  188                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 post_event_nofinger 
  189                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_keep 
                                 lyric_element 
  190                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 UNSIGNED 
  191                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 REAL 
  192                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 NUMBER_IDENTIFIER 
  193                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 FRACTION 
  194                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 '-' 
                                 UNSIGNED 
  195                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 '-' 
                                 REAL 
  196                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_closed_keep 
                                 '-' 
                                 NUMBER_IDENTIFIER 
  197                        | "optional?" 
                                 "ly:pitch?" 
                                 function_arglist_keep 
                                 pitch_also_in_chords 
  198                        | "optional?" 
                                 "ly:duration?" 
                                 function_arglist_closed_keep 
                                 duration_length 
  199                        | "optional?" 
                                 "scheme?" 
                                 function_arglist_backup 
                                 "(backed-up?)" 
  200                        | function_arglist_backup 
                                 "(reparsed?)" 
                                 embedded_scm_arg_closed 
  201                        | function_arglist_backup 
                                 "(reparsed?)" 
                                 bare_number 

  202 function_arglist: function_arglist_common
  203                 | function_arglist_nonbackup

  204 function_arglist_common: function_arglist_bare
  205                        | "scheme?" 
                                 function_arglist_optional 
                                 embedded_scm_arg 
  206                        | "scheme?" 
                                 function_arglist_closed_optional 
                                 bare_number 
  207                        | "scheme?" 
                                 function_arglist_closed_optional 
                                 FRACTION 
  208                        | "scheme?" 
                                 function_arglist_closed_optional 
                                 post_event_nofinger 
  209                        | function_arglist_common_minus
  210                        | function_arglist_common_lyric

  211 function_arglist_common_lyric: "scheme?" 
                                       function_arglist_optional 
                                       lyric_element 
  212                              | function_arglist_common_lyric 
                                       "(reparsed?)" 
                                       lyric_element_arg 

  213 function_arglist_common_minus: "scheme?" 
                                       function_arglist_closed_optional 
                                       '-' 
                                       UNSIGNED 
  214                              | "scheme?" 
                                       function_arglist_closed_optional 
                                       '-' 
                                       REAL 
  215                              | "scheme?" 
                                       function_arglist_closed_optional 
                                       '-' 
                                       NUMBER_IDENTIFIER 
  216                              | function_arglist_common_minus 
                                       "(reparsed?)" 
                                       bare_number 

  217 function_arglist_closed: function_arglist_closed_common
  218                        | function_arglist_closed_nonbackup

  219 function_arglist_closed_common: function_arglist_bare
  220                               | "scheme?" 
                                        function_arglist_optional 
                                        embedded_scm_arg_closed 
  221                               | "scheme?" 
                                        function_arglist_closed_optional 
                                        bare_number 
  222                               | "scheme?" 
                                        function_arglist_closed_optional 
                                        '-' 
                                        UNSIGNED 
  223                               | "scheme?" 
                                        function_arglist_closed_optional 
                                        '-' 
                                        REAL 
  224                               | "scheme?" 
                                        function_arglist_closed_optional 
                                        '-' 
                                        NUMBER_IDENTIFIER 
  225                               | "scheme?" 
                                        function_arglist_closed_optional 
                                        post_event_nofinger 
  226                               | "scheme?" 
                                        function_arglist_closed_optional 
                                        FRACTION 
  227                               | "scheme?" 
                                        function_arglist_optional 
                                        lyric_element 

  228 function_arglist_optional: function_arglist_keep
  229                          | function_arglist_backup "(backed-up?)"
  230                          | "optional?" 
                                   "ly:pitch?" 
                                   function_arglist_optional 
  231                          | "optional?" 
                                   "ly:duration?" 
                                   function_arglist_optional 

  232 function_arglist_closed_optional: function_arglist_closed_keep
  233                                 | function_arglist_backup 
                                          "(backed-up?)" 
  234                                 | "optional?" 
                                          "ly:pitch?" 
                                          function_arglist_closed_optional 
  235                                 | "optional?" 
                                          "ly:duration?" 
                                          function_arglist_closed_optional 

  236 embedded_scm_closed: embedded_scm_bare
  237                    | scm_function_call_closed

  238 embedded_scm_arg_closed: embedded_scm_bare_arg
  239                        | scm_function_call_closed
  240                        | closed_music

  241 scm_function_call_closed: SCM_FUNCTION function_arglist_closed

  242 function_arglist_bare: EXPECT_NO_MORE_ARGS
  243                      | "ly:pitch?" 
                               function_arglist_optional 
                               pitch_also_in_chords 
  244                      | "ly:duration?" 
                               function_arglist_closed_optional 
                               duration_length 
  245                      | "optional?" 
                               "ly:pitch?" 
                               function_arglist_skip 
                               "\default" 
  246                      | "optional?" 
                               "ly:duration?" 
                               function_arglist_skip 
                               "\default" 
  247                      | "optional?" 
                               "scheme?" 
                               function_arglist_skip 
                               "\default" 

  248 music_function_call: MUSIC_FUNCTION function_arglist

  249 optional_id: /* empty */
  250            | '=' simple_string

  251 complex_music: music_function_call
  252              | repeated_music
  253              | re_rhythmed_music
  254              | complex_music_prefix music

  255 complex_music_prefix: "\context" 
                              simple_string 
                              optional_id 
                              optional_context_mod 
  256                     | "\new" 
                              simple_string 
                              optional_id 
                              optional_context_mod 

  257 mode_changed_music: mode_changing_head grouped_music_list
  258                   | mode_changing_head_with_context 
                            optional_context_mod 
                            grouped_music_list 

  259 mode_changing_head: "\notemode"
  260                   | "\drummode"
  261                   | "\figuremode"
  262                   | "\chordmode"
  263                   | "\lyricmode"

  264 mode_changing_head_with_context: "\drums"
  265                                | "\figures"
  266                                | "\chords"
  267                                | "\lyrics"

  269 new_lyrics: "\addlyrics"  composite_music

  271 new_lyrics: new_lyrics "\addlyrics" 0 composite_music

  272 re_rhythmed_music: composite_music new_lyrics

  274 re_rhythmed_music: "\lyricsto" simple_string 1 music

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

  276 property_path_revved: embedded_scm_closed
  277                     | property_path_revved embedded_scm_closed

  278 property_path: property_path_revved

  279 property_operation: STRING '=' scalar
  280                   | "\unset" simple_string
  281                   | "\override" simple_string property_path '=' scalar
  282                   | "\revert" simple_string embedded_scm

  283 context_def_mod: "\consists"
  284                | "\remove"
  285                | "\accepts"
  286                | "\defaultchild"
  287                | "\denies"
  288                | "\alias"
  289                | "\type"
  290                | "\description"
  291                | "\name"

  292 context_mod: property_operation
  293            | context_def_mod STRING
  294            | context_def_mod embedded_scm

  295 context_prop_spec: simple_string
  296                  | simple_string '.' simple_string

  297 simple_music_property_def: "\override" 
                                   context_prop_spec 
                                   property_path 
                                   '=' 
                                   scalar 
  298                          | "\revert" context_prop_spec embedded_scm
  299                          | "\set" context_prop_spec '=' scalar
  300                          | "\unset" context_prop_spec

  301 music_property_def: simple_music_property_def

  302 string: STRING
  303       | STRING_IDENTIFIER
  304       | string '+' string

  305 simple_string: STRING
  306              | LYRICS_STRING
  307              | STRING_IDENTIFIER

  308 scalar: embedded_scm_arg
  309       | bare_number
  310       | FRACTION
  311       | lyric_element

  312 scalar_closed: embedded_scm_arg_closed
  313              | bare_number
  314              | FRACTION
  315              | lyric_element

  316 event_chord: simple_element post_events
  317            | simple_chord_elements post_events
  318            | CHORD_REPETITION optional_notemode_duration post_events
  319            | MULTI_MEASURE_REST optional_notemode_duration post_events
  320            | command_element
  321            | note_chord_element

  322 note_chord_element: chord_body optional_notemode_duration post_events

  323 chord_body: "<" chord_body_elements ">"

  324 chord_body_elements: /* empty */
  325                    | chord_body_elements chord_body_element

  326 chord_body_element: pitch 
                            exclamations 
                            questions 
                            octave_check 
                            post_events 
  327                   | DRUM_PITCH post_events
  328                   | music_function_chord_body

  329 music_function_chord_body: music_function_call
  330                          | MUSIC_IDENTIFIER

  331 music_function_call_closed: MUSIC_FUNCTION function_arglist_closed

  332 event_function_event: EVENT_FUNCTION function_arglist_closed

  333 command_element: command_event
  334                | "\["
  335                | "\]"
  336                | "\"
  337                | '|'

  338 command_event: "\~"
  339              | tempo_event

  340 post_events: /* empty */
  341            | post_events post_event

  342 post_event_nofinger: direction_less_event
  343                    | script_dir music_function_call_closed
  344                    | "--"
  345                    | "__"
  346                    | script_dir direction_reqd_event
  347                    | script_dir direction_less_event
  348                    | '^' fingering
  349                    | '_' fingering

  350 post_event: post_event_nofinger
  351           | '-' fingering

  352 string_number_event: E_UNSIGNED

  353 direction_less_char: '['
  354                    | ']'
  355                    | '~'
  356                    | '('
  357                    | ')'
  358                    | "\!"
  359                    | "\("
  360                    | "\)"
  361                    | "\>"
  362                    | "\<"

  363 direction_less_event: direction_less_char
  364                     | string_number_event
  365                     | EVENT_IDENTIFIER
  366                     | tremolo_type
  367                     | event_function_event

  368 direction_reqd_event: gen_text_def
  369                     | script_abbreviation

  370 octave_check: /* empty */
  371             | '='
  372             | '=' sub_quotes
  373             | '=' sup_quotes

  374 sup_quotes: '''
  375           | sup_quotes '''

  376 sub_quotes: ','
  377           | sub_quotes ','

  378 steno_pitch: NOTENAME_PITCH
  379            | NOTENAME_PITCH sup_quotes
  380            | NOTENAME_PITCH sub_quotes

  381 steno_tonic_pitch: TONICNAME_PITCH
  382                  | TONICNAME_PITCH sup_quotes
  383                  | TONICNAME_PITCH sub_quotes

  384 pitch: steno_pitch
  385      | PITCH_IDENTIFIER

  386 pitch_also_in_chords: pitch
  387                     | steno_tonic_pitch

  388 gen_text_def: full_markup
  389             | simple_string

  390 fingering: UNSIGNED

  391 script_abbreviation: '^'
  392                    | '+'
  393                    | '-'
  394                    | '|'
  395                    | ">"
  396                    | '.'
  397                    | '_'

  398 script_dir: '_'
  399           | '^'
  400           | '-'

  401 duration_length: multiplied_duration

  402 maybe_notemode_duration: /* empty */
  403                        | multiplied_duration

  404 optional_notemode_duration: maybe_notemode_duration

  405 steno_duration: bare_unsigned dots
  406               | DURATION_IDENTIFIER dots

  407 multiplied_duration: steno_duration
  408                    | multiplied_duration '*' bare_unsigned
  409                    | multiplied_duration '*' FRACTION

  410 dots: /* empty */
  411     | dots '.'

  412 tremolo_type: ':'
  413             | ':' bare_unsigned

  414 bass_number: UNSIGNED
  415            | STRING
  416            | full_markup

  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 figure_spec: FIGURE_OPEN figure_list FIGURE_CLOSE

  434 optional_rest: /* empty */
  435              | "\rest"

  436 simple_element: pitch 
                        exclamations 
                        questions 
                        octave_check 
                        maybe_notemode_duration 
                        optional_rest 
  437               | DRUM_PITCH optional_notemode_duration
  438               | RESTNAME optional_notemode_duration

  439 simple_chord_elements: new_chord
  440                      | figure_spec optional_notemode_duration

  441 lyric_element: lyric_markup
  442              | LYRICS_STRING

  443 lyric_element_arg: lyric_element
  444                  | lyric_element multiplied_duration post_events
  445                  | lyric_element post_event post_events
  446                  | LYRIC_ELEMENT optional_notemode_duration post_events

  447 lyric_element_music: lyric_element 
                             optional_notemode_duration 
                             post_events 

  448 new_chord: steno_tonic_pitch optional_notemode_duration
  449          | steno_tonic_pitch 
                   optional_notemode_duration 
                   chord_separator 
                   chord_items 

  450 chord_items: /* empty */
  451            | chord_items chord_item

  452 chord_separator: ":"
  453                | "^"
  454                | "/" steno_tonic_pitch
  455                | "/+" steno_tonic_pitch

  456 chord_item: chord_separator
  457           | step_numbers
  458           | CHORD_MODIFIER

  459 step_numbers: step_number
  460             | step_numbers '.' step_number

  461 step_number: bare_unsigned
  462            | bare_unsigned '+'
  463            | bare_unsigned "-"

  464 tempo_range: bare_unsigned
  465            | bare_unsigned '~' bare_unsigned

  466 number_expression: number_expression '+' number_term
  467                  | number_expression '-' number_term
  468                  | number_term

  469 number_term: number_factor
  470            | number_factor '*' number_factor
  471            | number_factor '/' number_factor

  472 number_factor: '-' number_factor
  473              | bare_number

  474 bare_number: bare_number_closed
  475            | UNSIGNED NUMBER_IDENTIFIER
  476            | REAL NUMBER_IDENTIFIER

  477 bare_number_closed: UNSIGNED
  478                   | REAL
  479                   | NUMBER_IDENTIFIER

  480 bare_unsigned: UNSIGNED

  481 unsigned_number: UNSIGNED
  482                | NUMBER_IDENTIFIER

  483 exclamations: /* empty */
  484             | exclamations '!'

  485 questions: /* empty */
  486          | questions '?'

  487 lyric_markup: LYRIC_MARKUP_IDENTIFIER

  489 lyric_markup: LYRIC_MARKUP 2 markup_top

  490 full_markup_list: MARKUPLIST_IDENTIFIER

  492 full_markup_list: "\markuplist" 3 markup_list

  493 full_markup: MARKUP_IDENTIFIER

  495 full_markup: "\markup" 4 markup_top

  496 markup_top: markup_list
  497           | markup_head_1_list simple_markup
  498           | simple_markup

  500 markup_scm: embedded_scm_bare 5 "(backed-up?)"

  501 markup_list: MARKUPLIST_IDENTIFIER
  502            | markup_composed_list
  503            | markup_braced_list
  504            | markup_command_list
  505            | markup_scm MARKUPLIST_IDENTIFIER

  506 markup_composed_list: markup_head_1_list markup_braced_list

  507 markup_braced_list: '{' markup_braced_list_body '}'

  508 markup_braced_list_body: /* empty */
  509                        | markup_braced_list_body markup
  510                        | markup_braced_list_body markup_list

  511 markup_command_list: MARKUP_LIST_FUNCTION markup_command_list_arguments

  512 markup_command_basic_arguments: "markup-list?" 
                                        markup_command_list_arguments 
                                        markup_list 
  513                               | "scheme?" 
                                        markup_command_list_arguments 
                                        embedded_scm_closed 
  514                               | EXPECT_NO_MORE_ARGS

  515 markup_command_list_arguments: markup_command_basic_arguments
  516                              | "markup?" 
                                       markup_command_list_arguments 
                                       markup 

  517 markup_head_1_item: MARKUP_FUNCTION 
                            "markup?" 
                            markup_command_list_arguments 

  518 markup_head_1_list: markup_head_1_item
  519                   | markup_head_1_list markup_head_1_item

  520 simple_markup: STRING
  521              | MARKUP_IDENTIFIER
  522              | LYRIC_MARKUP_IDENTIFIER
  523              | STRING_IDENTIFIER

  525 simple_markup: "\score" 6 '{' score_body '}'
  526              | MARKUP_FUNCTION markup_command_basic_arguments
  527              | markup_scm MARKUP_IDENTIFIER

  528 markup: markup_head_1_list simple_markup
  529       | simple_markup


Terminals, with rules where they appear



    182 187 188 189 190 191 192 193 194 195 196 197 198 199 230 231
    190 191 192 193 194 195 196 199 205 206 207 208 211 213 214 215
    220 221 222 223 224 225 226 227 247 513
    234 235 245 246 247
    417 467 472
"#{" (352) 3
"(backed-up?)" (347) 199 229 233 500
"(reparsed?)" (348) 200 201 212 216
"-" (317) 463
"--" (338) 344
"/" (318) 454
"/+" (314) 455
":" (316) 452
"<" (319) 323
"<<" (321) 141
">" (320) 323 395
">>" (322) 141
"\!" (327) 358 426
"\" (323) 336 428
"\(" (329) 359
"\)" (326) 360
"\+" (332) 425
"\<" (331) 362
"\>" (324) 361
"\[" (328) 334
"\]" (330) 335
"\accepts" (273) 285
"\addlyrics" (262) 269 271
"\alias" (274) 288
"\alternative" (260) 137
"\book" (275) 73
"\bookpart" (276) 86
"\C[haracter]" (325)
"\change" (277) 275
"\chordmode" (278) 262
"\chords" (279) 266
"\consists" (280) 283
"\context" (281) 64 113 255
"\default" (263) 245 246 247
"\defaultchild" (282) 286
"\denies" (283) 287
"\description" (284) 290
"\drummode" (285) 260
"\drums" (286) 264
"\figuremode" (287) 261
"\figures" (288) 265
"\header" (289) 44
"\layout" (291) 109
"\lyricmode" (292) 263
"\lyrics" (293) 267
"\lyricsto" (294) 274
"\markup" (295) 495
"\markuplist" (296) 492
"\midi" (297) 108
"\name" (298) 291
"\new" (313) 256
"\notemode" (299) 259
"\override" (300) 281 297
"\paper" (301) 107
"\remove" (302) 284
"\repeat" (259) 136 137
"\rest" (303) 435
"\revert" (304) 282 298
"\score" (305) 98 525
"\sequential" (306) 138
"\set" (307) 299
"\simultaneous" (308) 140
"\tempo" (309) 120 121 122
"\type" (310) 289
"\unset" (311) 280 300
"\version-error" (290) 8 41
"\with" (312) 146 147 149
"\~" (333) 338
"^" (315) 453
"_" (337) 420
"__" (334) 345
"end of input" (0) 0
"ly:duration?" (345) 168 171 198 231 235 244 246
"ly:pitch?" (344) 167 170 197 230 234 243 245
"markup-list?" (349) 512
"markup?" (343) 516 517
"optional?" (350) 167 168 169 170 171 172 173 174 175 176 178 179 181
"scheme?" (346) 169 172 173 174 175 176 178 179 181 182 187 188 189
'!' (33) 419 484
''' (39) 374 375
'(' (40) 356
')' (41) 357
'*' (42) 408 409 470
'+' (43) 304 392 418 462 466
',' (44) 376 377
'-' (45) 174 175 176 194 195 196 213 214 215 222 223 224 351 393 400
'.' (46) 296 396 411 460
'/' (47) 427 471
':' (58) 412 413
'=' (61) 47 48 120 121 250 275 279 281 297 299 371 372 373
'?' (63) 486
'[' (91) 353 430
']' (93) 354 422
'^' (94) 348 391 399
'_' (95) 349 397 398
'{' (123) 44 64 73 86 98 113 114 115 126 146 507 525
'|' (124) 337 394
'}' (125) 44 64 73 86 98 106 113 126 146 507 525
'~' (126) 355 465
BOOK_IDENTIFIER (353) 75 88
CHORD_MODIFIER (355) 458
CHORD_REPETITION (356) 318
CHORDMODIFIER_PITCH (354)
CHORDMODIFIERS (339)
COMPOSITE (261)
CONTEXT_DEF_IDENTIFIER (357) 69
CONTEXT_MOD_IDENTIFIER (358) 147 148 154
DRUM_PITCH (359) 327 437
DURATION_IDENTIFIER (265) 406
E_UNSIGNED (342) 352
error (256) 7 40 85 97 104 119 125
EVENT_FUNCTION (361) 332
EVENT_IDENTIFIER (360) 365
EXPECT_NO_MORE_ARGS (351) 242 514
FIGURE_CLOSE (335) 433
FIGURE_OPEN (336) 433
FRACTION (362) 58 172 193 207 226 310 314 409
FUNCTION_ARGLIST (264)
LYRIC_ELEMENT (364) 446
LYRIC_MARKUP (340) 489
LYRIC_MARKUP_IDENTIFIER (365) 487 522
LYRICS_STRING (363) 46 306 442
MARKUP_FUNCTION (366) 517 526
MARKUP_IDENTIFIER (368) 493 521 527
MARKUP_LIST_FUNCTION (367) 511
MARKUPLIST_IDENTIFIER (369) 490 501 505
MULTI_MEASURE_REST (341) 319
MUSIC_FUNCTION (370) 248 331
MUSIC_IDENTIFIER (371) 162 330
NOTENAME_PITCH (269) 378 379 380
NUMBER_IDENTIFIER (271) 176 192 196 215 224 475 476 479 482
OUTPUT_DEF_IDENTIFIER (372) 115
PITCH_IDENTIFIER (270) 385
PREC_BOT (258)
PREC_TOP (272)
REAL (266) 175 191 195 214 223 476 478
RESTNAME (373) 438
SCM_FUNCTION (374) 36 241
SCM_IDENTIFIER (375) 19
SCM_TOKEN (376) 18
SCORE_IDENTIFIER (377) 100
STRING (378) 21 45 275 279 293 302 305 415 520
STRING_IDENTIFIER (379) 22 303 307 523
TONICNAME_PITCH (268) 381 382 383
UNARY_MINUS (380)
UNSIGNED (267) 174 190 194 213 222 390 414 475 477 480 481

Nonterminals, with rules where they appear


assignment (162)
    on left: 47 48 49, on right: 6 43 116
assignment_id (161)
    on left: 45 46, on right: 47 48
bare_number_closed (307)
    on left: 477 478 479, on right: 179 474
bass_number (283)
    on left: 414 415 416, on right: 421
book_block (168)
    on left: 73, on right: 11 28 51
bookpart_block (171)
    on left: 86, on right: 12 29 52 77
br_bass_figure (287)
    on left: 429 430, on right: 432
braced_music_list (187)
    on left: 126, on right: 137 138 139 140
chord_body (250)
    on left: 323, on right: 322
chord_body_element (252)
    on left: 326 327 328, on right: 325
chord_body_elements (251)
    on left: 324 325, on right: 323 325
chord_item (299)
    on left: 456 457 458, on right: 451
chord_items (297)
    on left: 450 451, on right: 449 451
chord_separator (298)
    on left: 452 453 454 455, on right: 449 456
closed_music (201)
    on left: 158 159 160, on right: 159 240
command_element (256)
    on left: 333 334 335 336 337, on right: 320
command_event (257)
    on left: 338 339, on right: 333
complex_music (225)
    on left: 251 252 253 254, on right: 156
complex_music_prefix (226)
    on left: 255 256, on right: 159 254
context_change (235)
    on left: 275, on right: 144
context_def_spec_block (164)
    on left: 64, on right: 27 54
context_mod (240)
    on left: 292 293 294, on right: 70 153
context_mod_arg (165)
    on left: 65 66, on right: 67
context_mod_embedded (166)
    on left: 67, on right: 72 155
context_prop_spec (241)
    on left: 295 296, on right: 297 298 299 300
direction_reqd_event (264)
    on left: 368 369, on right: 346
dots (281)
    on left: 410 411, on right: 405 406 411
duration_length (276)
    on left: 401, on right: 171 198 244
embedded_lilypond (158)
    on left: 37 38 39 40 41, on right: 3 41
embedded_scm_arg (156)
    on left: 33 34 35, on right: 181 205 308
embedded_scm_bare (153)
    on left: 18 19, on right: 20 31 236 500
embedded_scm_closed (219)
    on left: 236 237, on right: 149 276 277 513
event_chord (248)
    on left: 316 317 318 319 320 321, on right: 142
event_function_event (255)
    on left: 332, on right: 367
exclamations (310)
    on left: 483 484, on right: 326 436 484
figure_list (288)
    on left: 431 432, on right: 432 433
figure_spec (289)
    on left: 433, on right: 440
figured_bass_alteration (284)
    on left: 417 418 419, on right: 423
figured_bass_modification (286)
    on left: 425 426 427 428, on right: 424
fingering (273)
    on left: 390, on right: 348 349 351
full_markup (316)
    on left: 493 495, on right: 15 23 61 80 92 388 416
full_markup_list (314)
    on left: 490 492, on right: 16 24 62 81 93
function_arglist (211)
    on left: 202 203, on right: 36 170 178 181 248
function_arglist_common_lyric (213)
    on left: 211 212, on right: 210 212
function_arglist_keep (208)
    on left: 183 184, on right: 187 189 197 228
function_arglist_nonbackup (207)
    on left: 180 181 182, on right: 203
gen_text_def (272)
    on left: 388 389, on right: 368
grouped_music_list (203)
    on left: 164 165, on right: 163 257 258
lilypond (150)
    on left: 4 5 6 7 8, on right: 1 5 6 7 8
lilypond_header (160)
    on left: 44, on right: 10 83 95 102
lilypond_header_body (159)
    on left: 42 43, on right: 43 44
lyric_element_arg (294)
    on left: 443 444 445 446, on right: 212
lyric_element_music (295)
    on left: 447, on right: 128 135
lyric_markup (312)
    on left: 487 489, on right: 441
markup (332)
    on left: 528 529, on right: 509 516
markup_braced_list (323)
    on left: 507, on right: 503 506
markup_braced_list_body (324)
    on left: 508 509 510, on right: 507 509 510
markup_command_list (325)
    on left: 511, on right: 504
markup_composed_list (322)
    on left: 506, on right: 502
markup_head_1_item (328)
    on left: 517, on right: 518 519
markup_head_1_list (329)
    on left: 518 519, on right: 497 506 519 528
markup_list (321)
    on left: 501 502 503 504 505, on right: 492 496 510 512
markup_scm (319)
    on left: 500, on right: 505 527
markup_top (318)
    on left: 496 497 498, on right: 489 495
maybe_notemode_duration (277)
    on left: 402 403, on right: 404 436
mode_changed_music (227)
    on left: 257 258, on right: 161
mode_changing_head (228)
    on left: 259 260 261 262 263, on right: 257
music (188)
    on left: 127 128, on right: 99 129 136 137 254 274
music_arg (190)
    on left: 131 132, on right: 35 111 127
music_assign (191)
    on left: 133 134 135, on right: 55
music_bare (202)
    on left: 161 162 163, on right: 157 158
music_embedded (189)
    on left: 129 130, on right: 39 124
music_function_call (223)
    on left: 248, on right: 251 329
music_function_call_closed (254)
    on left: 331, on right: 160 343
music_function_chord_body (253)
    on left: 329 330, on right: 328
music_list (186)
    on left: 123 124 125, on right: 39 124 125 126 141
music_or_context_def (181)
    on left: 111 113, on right: 118
music_property_def (243)
    on left: 301, on right: 143
new_chord (296)
    on left: 448 449, on right: 439
new_lyrics (230)
    on left: 269 271, on right: 271 272
note_chord_element (249)
    on left: 322, on right: 321
number_expression (303)
    on left: 466 467 468, on right: 57 466 467
number_factor (305)
    on left: 472 473, on right: 469 470 471 472
number_term (304)
    on left: 469 470 471, on right: 466 467 468
octave_check (265)
    on left: 370 371 372 373, on right: 326 436
optional_context_mod (198)
    on left: 150 151, on right: 255 256 258
optional_id (224)
    on left: 249 250, on right: 255 256
optional_rest (290)
    on left: 434 435, on right: 436
output_def (178)
    on left: 106, on right: 17 30 53 103 105
output_def_head (179)
    on left: 107 108 109, on right: 110
output_def_head_with_mode_switch (180)
    on left: 110, on right: 114 115
paper_block (177)
    on left: 105, on right: 76 89
pitch (270)
    on left: 384 385, on right: 326 386 436
pitch_also_in_chords (271)
    on left: 386 387, on right: 170 197 243
post_event (260)
    on left: 350 351, on right: 341 445
property_operation (238)
    on left: 279 280 281 282, on right: 292
property_path (237)
    on left: 278, on right: 48 281 297
property_path_revved (236)
    on left: 276 277, on right: 277 278
questions (311)
    on left: 485 486, on right: 326 436 486
re_rhythmed_music (233)
    on left: 272 274, on right: 253
repeated_music (192)
    on left: 136 137, on right: 252
scalar (246)
    on left: 308 309 310 311, on right: 122 279 281 297 299
scalar_closed (247)
    on left: 312 313 314 315, on right: 121
scm_function_call (157)
    on left: 36, on right: 32 34
scm_function_call_closed (221)
    on left: 241, on right: 237 239
score_block (174)
    on left: 98, on right: 13 26 50 78 90
script_dir (275)
    on left: 398 399 400, on right: 343 346 347
sequential_music (193)
    on left: 138 139, on right: 165
simple_chord_elements (292)
    on left: 439 440, on right: 317
simple_element (291)
    on left: 436 437 438, on right: 316
simple_music (195)
    on left: 142 143 144, on right: 131 133
simple_music_property_def (242)
    on left: 297 298 299 300, on right: 301
simultaneous_music (194)
    on left: 140 141, on right: 164
start_symbol (148)
    on left: 1 3, on right: 0
steno_duration (279)
    on left: 405 406, on right: 120 121 407
steno_pitch (268)
    on left: 378 379 380, on right: 384
step_number (301)
    on left: 461 462 463, on right: 459 460
step_numbers (300)
    on left: 459 460, on right: 457 460
string (244)
    on left: 302 303 304, on right: 59 304
string_number_event (261)
    on left: 352, on right: 364
sub_quotes (267)
    on left: 376 377, on right: 372 377 380 383
sup_quotes (266)
    on left: 374 375, on right: 373 375 379 382
tempo_event (185)
    on left: 120 121 122, on right: 339
tempo_range (302)
    on left: 464 465, on right: 120 121
toplevel_expression (151)
    on left: 10 11 12 13 14 15 16 17, on right: 5
tremolo_type (282)
    on left: 412 413, on right: 366
unsigned_number (309)
    on left: 481 482, on right: 136 137

Otros idiomas: English, deutsch, français, italiano, 日本語.
Acerca de la selección automática del idioma.

LilyPond — Referencia de la notación