On Tue, 2005-07-26 at 19:22 -0600, Carl Sorensen wrote:

> 
> I'll hack a bit on Nicolas' idea of using the output file from Bison as
> a source for the stripped-down Yacc syntax.  When I'm done, I'll submit
> another try.
> 

I've now hacked on a Python script to clean up the output file.  The new
file lilypond.grammar has a cleaned up description of the grammar, and
indexes to both terminals and non-terminals.

This still isn't the intelligent Yacc output, but I think it's slightly
less half-baked than my previous hack, and could profitably be included
in the manual.

Comments?

Carl
-- 
Carl Sorensen <[EMAIL PROTECTED]>
Grammar

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

    6 object_id_setting: "\\objectid" STRING

    7 toplevel_expression: lilypond_header
    8                    | add_quote
    9                    | book_block
   10                    | score_block
   11                    | toplevel_music
   12                    | full_markup
   13                    | output_def

   14 toplevel_music: Composite_music

   15 embedded_scm: SCM_T
   16             | SCM_IDENTIFIER

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

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

   20 assignment_id: STRING
   21              | LYRICS_STRING

   22 assignment: assignment_id '=' identifier_init
   23           | embedded_scm

   24 identifier_init: score_block
   25                | output_def
   26                | context_def_spec_block
   27                | Music
   28                | post_event
   29                | number_expression
   30                | string
   31                | embedded_scm
   32                | full_markup
   33                | DIGIT

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

   35 context_def_spec_body: /* empty */
   36                      | CONTEXT_DEF_IDENTIFIER
   37                      | context_def_spec_body "\\grobdescriptions" 
embedded_scm
   38                      | context_def_spec_body context_mod

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

   40 book_body: /* empty */
   41          | book_body paper_block
   42          | book_body score_block
   43          | book_body full_markup
   44          | book_body lilypond_header
   45          | book_body error
   46          | book_body object_id_setting

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

   48 score_body: Music
   49           | SCORE_IDENTIFIER
   50           | score_body object_id_setting
   51           | score_body lilypond_header
   52           | score_body output_def
   53           | score_body error

   54 paper_block: output_def

   55 output_def: output_def_body '}'

   56 output_def_head: "\\paper"
   57                | "\\midi"
   58                | "\\layout"

   59 output_def_body: output_def_head '{'
   60                | output_def_head '{' OUTPUT_DEF_IDENTIFIER
   61                | output_def_body assignment
   62                | output_def_body context_def_spec_block
   63                | output_def_body tempo_event
   64                | output_def_body error

   65 tempo_event: "\\tempo" steno_duration '=' bare_unsigned

   66 Music_list: /* empty */
   67           | Music_list Music
   68           | Music_list embedded_scm
   69           | Music_list error

   70 Music: Simple_music
   71      | Composite_music

   72 Alternative_music: /* empty */
   73                  | "\\alternative" '{' Music_list '}'

   74 Repeated_music: "\\repeat" simple_string bare_unsigned Music 
Alternative_music

   75 Sequential_music: "\\sequential" '{' Music_list '}'
   76                 | '{' Music_list '}'

   77 Simultaneous_music: "\\simultaneous" '{' Music_list '}'
   78                   | simul_open Music_list simul_close

   79 Simple_music: event_chord
   80             | MUSIC_IDENTIFIER
   81             | music_property_def
   82             | context_change

   83 optional_context_mod: /* empty */

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

   86 context_mod_list: /* empty */
   87                 | context_mod_list context_mod

   88 Composite_music: Prefix_composite_music
   89                | Grouped_music_list

   90 Grouped_music_list: Simultaneous_music
   91                   | Sequential_music

   92 Generic_prefix_music_scm: MUSIC_FUNCTION
   93                         | MUSIC_FUNCTION_SCM embedded_scm
   94                         | MUSIC_FUNCTION_MARKUP full_markup
   95                         | MUSIC_FUNCTION_MUSIC Music
   96                         | MUSIC_FUNCTION_SCM_MUSIC embedded_scm Music
   97                         | MUSIC_FUNCTION_SCM_SCM embedded_scm embedded_scm
   98                         | MUSIC_FUNCTION_SCM_SCM_MUSIC embedded_scm 
embedded_scm Music
   99                         | MUSIC_FUNCTION_MARKUP_MUSIC full_markup Music
  100                         | MUSIC_FUNCTION_MARKUP_MARKUP full_markup 
full_markup
  101                         | MUSIC_FUNCTION_MUSIC_MUSIC Music Music
  102                         | MUSIC_FUNCTION_SCM_MUSIC_MUSIC embedded_scm 
Music Music
  103                         | MUSIC_FUNCTION_MARKUP_MUSIC_MUSIC full_markup 
Music Music

  104 Generic_prefix_music: Generic_prefix_music_scm

  105 Prefix_composite_music: Generic_prefix_music
  106                       | "\context" simple_string '=' simple_string 
optional_context_mod Music
  107                       | "\context" simple_string optional_context_mod 
Music
  108                       | "\new" simple_string optional_context_mod Music
  109                       | "\times" fraction Music
  110                       | Repeated_music
  111                       | "\transpose" pitch_also_in_chords 
pitch_also_in_chords Music
  112                       | mode_changing_head Grouped_music_list
  113                       | mode_changing_head_with_context 
optional_context_mod Grouped_music_list
  114                       | relative_music
  115                       | re_rhythmed_music
  116                       | "\tag" embedded_scm Music

  117 mode_changing_head: "\notemode"
  118                   | "\drummode"
  119                   | "\figuremode"
  120                   | "\chordmode"
  121                   | "\lyricmode"

  122 mode_changing_head_with_context: "\drums"
  123                                | "\figures"
  124                                | "\chords"
  125                                | "\lyrics"

  126 relative_music: "\relative" absolute_pitch Music
  127               | "\relative" Composite_music

  129 new_lyrics: "\addlyrics"  Grouped_music_list

  131 new_lyrics: new_lyrics "\addlyrics"  Grouped_music_list

  132 re_rhythmed_music: Grouped_music_list new_lyrics

  134 re_rhythmed_music: "\lyricsto" simple_string  Music

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

  136 property_operation: STRING '=' scalar
  137                   | "\unset" simple_string
  138                   | "\override" simple_string embedded_scm '=' 
embedded_scm
  139                   | "\revert" simple_string embedded_scm

  140 context_def_mod: "\consists"
  141                | "\remove"
  142                | "\accepts"
  143                | "\defaultchild"
  144                | "\denies"
  145                | "\alias"
  146                | "\type"
  147                | "\description"
  148                | "\name"

  149 context_mod: property_operation
  150            | context_def_mod STRING

  151 context_prop_spec: simple_string
  152                  | simple_string '.' simple_string

  153 music_property_def: "\override" context_prop_spec embedded_scm '=' scalar
  154                   | "\revert" context_prop_spec embedded_scm
  155                   | "\set" context_prop_spec '=' scalar
  156                   | "\unset" context_prop_spec
  157                   | "\once" music_property_def

  158 string: STRING
  159       | STRING_IDENTIFIER
  160       | string '+' string

  161 simple_string: STRING
  162              | LYRICS_STRING

  163 scalar: string
  164       | LYRICS_STRING
  165       | bare_number
  166       | embedded_scm
  167       | full_markup
  168       | DIGIT

  169 pre_events: /* empty */

  170 event_chord: pre_events simple_element post_events
  171            | command_element
  172            | note_chord_element

  173 note_chord_element: chord_body optional_notemode_duration post_events

  174 chord_open: '<'

  175 chord_close: '>'

  176 simul_open: "<<"

  177 simul_close: ">>"

  178 chord_body: chord_open chord_body_elements chord_close

  179 chord_body_elements: /* empty */
  180                    | chord_body_elements chord_body_element

  181 chord_body_element: pitch exclamations questions octave_check post_events
  182                   | DRUM_PITCH post_events

  183 add_quote: "\addquote" string Music

  184 command_element: command_event
  185                | "\skip" duration_length
  186                | "\octave" pitch
  187                | "\["
  188                | "\]"
  189                | "\"
  190                | '|'
  191                | "\transposition" pitch
  192                | "\bar" STRING
  193                | "\partial" duration_length
  194                | "\clef" STRING
  195                | "\time" fraction
  196                | "\mark" scalar

  197 command_event: "\~"
  198              | "\mark" "\default"
  199              | tempo_event
  200              | "\key" "\default"
  201              | "\key" NOTENAME_PITCH SCM_IDENTIFIER

  202 post_events: /* empty */
  203            | post_events post_event
  204            | post_events tagged_post_event

  205 tagged_post_event: '-' "\tag" embedded_scm post_event

  206 post_event: direction_less_event
  207           | "--"
  208           | "__"
  209           | script_dir direction_reqd_event
  210           | script_dir direction_less_event
  211           | string_number_event

  212 string_number_event: E_UNSIGNED

  213 direction_less_char: '['
  214                    | ']'
  215                    | '~'
  216                    | '('
  217                    | ')'
  218                    | "\!"
  219                    | "\("
  220                    | "\)"
  221                    | "\>"
  222                    | "\<"

  223 direction_less_event: direction_less_char
  224                     | EVENT_IDENTIFIER
  225                     | tremolo_type

  226 direction_reqd_event: gen_text_def
  227                     | script_abbreviation

  228 octave_check: /* empty */
  229             | '='
  230             | '=' sub_quotes
  231             | '=' sup_quotes

  232 sup_quotes: '''
  233           | sup_quotes '''

  234 sub_quotes: ','
  235           | sub_quotes ','

  236 steno_pitch: NOTENAME_PITCH
  237            | NOTENAME_PITCH sup_quotes
  238            | NOTENAME_PITCH sub_quotes

  239 steno_tonic_pitch: TONICNAME_PITCH
  240                  | TONICNAME_PITCH sup_quotes
  241                  | TONICNAME_PITCH sub_quotes

  242 pitch: steno_pitch

  243 pitch_also_in_chords: pitch
  244                     | steno_tonic_pitch

  245 gen_text_def: full_markup
  246             | string
  247             | DIGIT

  248 script_abbreviation: '^'
  249                    | '+'
  250                    | '-'
  251                    | '|'
  252                    | '>'
  253                    | '.'
  254                    | '_'

  255 script_dir: '_'
  256           | '^'
  257           | '-'

  258 absolute_pitch: steno_pitch

  259 duration_length: multiplied_duration

  260 optional_notemode_duration: /* empty */
  261                           | multiplied_duration

  262 steno_duration: bare_unsigned dots
  263               | DURATION_IDENTIFIER dots

  264 multiplied_duration: steno_duration
  265                    | multiplied_duration '*' bare_unsigned
  266                    | multiplied_duration '*' FRACTION

  267 fraction: FRACTION
  268         | UNSIGNED '/' UNSIGNED

  269 dots: /* empty */
  270     | dots '.'

  271 tremolo_type: ':'
  272             | ':' bare_unsigned

  273 bass_number: DIGIT
  274            | UNSIGNED
  275            | STRING
  276            | full_markup

  277 bass_mod: '-'
  278         | '+'
  279         | '!'

  280 bass_figure: "_"
  281            | bass_number
  282            | bass_figure bass_mod

  283 br_bass_figure: '[' bass_figure
  284               | bass_figure
  285               | br_bass_figure ']'

  286 figure_list: /* empty */
  287            | figure_list br_bass_figure

  288 figure_spec: FIGURE_OPEN figure_list FIGURE_CLOSE

  289 optional_rest: /* empty */
  290              | "\rest"

  291 simple_element: pitch exclamations questions octave_check 
optional_notemode_duration optional_rest
  292               | DRUM_PITCH optional_notemode_duration
  293               | figure_spec optional_notemode_duration
  294               | RESTNAME optional_notemode_duration
  295               | MULTI_MEASURE_REST optional_notemode_duration
  296               | lyric_element optional_notemode_duration
  297               | new_chord

  298 lyric_element: lyric_markup
  299              | LYRICS_STRING

  300 new_chord: steno_tonic_pitch optional_notemode_duration
  301          | steno_tonic_pitch optional_notemode_duration chord_separator 
chord_items

  302 chord_items: /* empty */
  303            | chord_items chord_item

  304 chord_separator: ":"
  305                | "^"
  306                | "/" steno_tonic_pitch
  307                | "/+" steno_tonic_pitch

  308 chord_item: chord_separator
  309           | step_numbers
  310           | CHORD_MODIFIER

  311 step_numbers: step_number
  312             | step_numbers '.' step_number

  313 step_number: bare_unsigned
  314            | bare_unsigned '+'
  315            | bare_unsigned "-"

  316 number_expression: number_expression '+' number_term
  317                  | number_expression '-' number_term
  318                  | number_term

  319 number_term: number_factor
  320            | number_factor '*' number_factor
  321            | number_factor '/' number_factor

  322 number_factor: '-' number_factor
  323              | bare_number

  324 bare_number: UNSIGNED
  325            | REAL
  326            | NUMBER_IDENTIFIER
  327            | REAL NUMBER_IDENTIFIER
  328            | UNSIGNED NUMBER_IDENTIFIER

  329 bare_unsigned: UNSIGNED
  330              | DIGIT

  331 exclamations: /* empty */
  332             | exclamations '!'

  333 questions: /* empty */
  334          | questions '?'

  335 lyric_markup: LYRIC_MARKUP_IDENTIFIER

  337 lyric_markup: LYRIC_MARKUP  markup_top

  338 full_markup: MARKUP_IDENTIFIER

  340 full_markup: "\markup"  markup_top

  341 markup_top: markup_list
  342           | markup_head_1_list simple_markup
  343           | simple_markup

  344 markup_list: markup_composed_list
  345            | markup_braced_list

  346 markup_composed_list: markup_head_1_list markup_braced_list

  347 markup_braced_list: '{' markup_braced_list_body '}'

  348 markup_braced_list_body: /* empty */
  349                        | markup_braced_list_body markup
  350                        | markup_braced_list_body markup_list

  351 markup_head_1_item: MARKUP_HEAD_MARKUP0
  352                   | MARKUP_HEAD_SCM0_MARKUP1 embedded_scm
  353                   | MARKUP_HEAD_SCM0_SCM1_MARKUP2 embedded_scm 
embedded_scm

  354 markup_head_1_list: markup_head_1_item
  355                   | markup_head_1_list markup_head_1_item

  356 simple_markup: STRING
  357              | MARKUP_IDENTIFIER
  358              | LYRIC_MARKUP_IDENTIFIER
  359              | STRING_IDENTIFIER

  361 simple_markup: "\score"  '{' score_body '}'
  362              | MARKUP_HEAD_SCM0 embedded_scm
  363              | MARKUP_HEAD_SCM0_SCM1_SCM2 embedded_scm embedded_scm 
embedded_scm
  364              | MARKUP_HEAD_SCM0_SCM1 embedded_scm embedded_scm
  365              | MARKUP_HEAD_EMPTY
  366              | MARKUP_HEAD_LIST0 markup_list
  367              | MARKUP_HEAD_MARKUP0_MARKUP1 markup markup

  368 markup: markup_head_1_list simple_markup
  369       | simple_markup


Terminals, with rules where they appear



"-" (321) 315
"--" (339) 207
"/" (322) 306
"/+" (318) 307
":" (320) 304
"<<" (324) 176
">>" (323) 177
"\!" (329) 218
"\" (325) 189
"\(" (331) 219
"\)" (328) 220
"\<" (333) 222
"\>" (326) 221
"\[" (330) 187
"\]" (332) 188
"\accepts" (259) 142
"\addlyrics" (258) 129 131
"\addquote" (260) 183
"\alias" (261) 145
"\alternative" (262) 73
"\bar" (263) 192
"\book" (264) 39
"\C[haracter]" (327)
"\change" (265) 135
"\chordmode" (266) 120
"\chords" (267) 124
"\clef" (268) 194
"\consists" (269) 140
"\context" (270) 34 106 107
"\default" (271) 198 200
"\defaultchild" (272) 143
"\denies" (273) 144
"\description" (274) 147
"\drummode" (275) 118
"\drums" (276) 122
"\figuremode" (277) 119
"\figures" (278) 123
"\grobdescriptions" (279) 37
"\header" (280) 19
"\invalid" (281) 5
"\key" (282) 200 201
"\layout" (283) 58
"\lyricmode" (284) 121
"\lyrics" (285) 125
"\lyricsto" (286) 134
"\mark" (287) 196 198
"\markup" (288) 340
"\midi" (289) 57
"\name" (290) 148
"\new" (317) 108
"\notemode" (291) 117
"\objectid" (292) 6
"\octave" (293) 186
"\once" (294) 157
"\override" (295) 138 153
"\paper" (296) 56
"\partial" (297) 193
"\relative" (298) 126 127
"\remove" (299) 141
"\repeat" (300) 74
"\rest" (301) 290
"\revert" (302) 139 154
"\score" (303) 47 361
"\sequential" (304) 75
"\set" (305) 155
"\simultaneous" (306) 77
"\skip" (307) 185
"\tag" (308) 116 205
"\tempo" (309) 65
"\time" (316) 195
"\times" (310) 109
"\transpose" (311) 111
"\transposition" (312) 191
"\type" (313) 146
"\unset" (314) 137 156
"\with" (315) 85
"\~" (334) 197
"^" (319) 305
"_" (338) 280
"__" (335) 208
$end (0) 0
'!' (33) 279 332
''' (39) 232 233
'(' (40) 216
')' (41) 217
'*' (42) 265 266 320
'+' (43) 160 249 278 314 316
',' (44) 234 235
'-' (45) 205 250 257 277 317 322
'.' (46) 152 253 270 312
'/' (47) 268 321
':' (58) 271 272
'<' (60) 174
'=' (61) 22 65 106 135 136 138 153 155 229 230 231
'>' (62) 175 252
'?' (63) 334
'[' (91) 213 283
']' (93) 214 285
'^' (94) 248 256
'_' (95) 254 255
'{' (123) 19 34 39 47 59 60 73 75 76 77 85 347 361
'|' (124) 190 251
'}' (125) 19 34 39 47 55 73 75 76 77 85 347 361
'~' (126) 215
CHORD_MODIFIER (349) 310
CHORDMODIFIER_PITCH (348)
CHORDMODIFIERS (340)
CONTEXT_DEF_IDENTIFIER (350) 36
DIGIT (344) 33 168 247 273 330
DRUM_PITCH (351) 182 292
DURATION_IDENTIFIER (352) 263
E_UNSIGNED (345) 212
error (256) 4 45 53 64 69
EVENT_IDENTIFIER (353) 224
FIGURE_CLOSE (336) 288
FIGURE_OPEN (337) 288
FRACTION (354) 266 267
IDENTIFIER (347)
LYRIC_MARKUP (341) 337
LYRIC_MARKUP_IDENTIFIER (356) 335 358
LYRICS_STRING (355) 21 162 164 299
MARKUP_HEAD_EMPTY (357) 365
MARKUP_HEAD_LIST0 (358) 366
MARKUP_HEAD_MARKUP0 (359) 351
MARKUP_HEAD_MARKUP0_MARKUP1 (360) 367
MARKUP_HEAD_SCM0 (361) 362
MARKUP_HEAD_SCM0_MARKUP1 (362) 352
MARKUP_HEAD_SCM0_SCM1 (363) 364
MARKUP_HEAD_SCM0_SCM1_MARKUP2 (364) 353
MARKUP_HEAD_SCM0_SCM1_SCM2 (365) 363
MARKUP_IDENTIFIER (366) 338 357
MULTI_MEASURE_REST (342) 295
MUSIC_FUNCTION (367) 92
MUSIC_FUNCTION_MARKUP (368) 94
MUSIC_FUNCTION_MARKUP_MARKUP (369) 100
MUSIC_FUNCTION_MARKUP_MARKUP_MUSIC (370)
MUSIC_FUNCTION_MARKUP_MUSIC (371) 99
MUSIC_FUNCTION_MARKUP_MUSIC_MUSIC (372) 103
MUSIC_FUNCTION_MUSIC (373) 95
MUSIC_FUNCTION_MUSIC_MUSIC (374) 101
MUSIC_FUNCTION_SCM (375) 93
MUSIC_FUNCTION_SCM_MUSIC (376) 96
MUSIC_FUNCTION_SCM_MUSIC_MUSIC (377) 102
MUSIC_FUNCTION_SCM_SCM (378) 97
MUSIC_FUNCTION_SCM_SCM_MUSIC (379) 98
MUSIC_IDENTIFIER (380) 80
NOTENAME_PITCH (381) 201 236 237 238
NUMBER_IDENTIFIER (382) 326 327 328
OUTPUT_DEF_IDENTIFIER (383) 60
REAL (384) 325 327
RESTNAME (385) 294
SCM_IDENTIFIER (386) 16 201
SCM_T (343) 15
SCORE_IDENTIFIER (387) 49
STRING (388) 6 20 135 136 150 158 161 192 194 275 356
STRING_IDENTIFIER (389) 159 359
TONICNAME_PITCH (390) 239 240 241
UNARY_MINUS (391)
UNSIGNED (346) 268 274 324 328 329

Nonterminals, with rules where they appear


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

Attachment: yyout2grammar.py
Description: application/python

_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to