]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/parser.yy
Merge branch 'release/2.11.54-1'
[lilypond.git] / lily / parser.yy
index 9a78c74437038cf361333fba44d9dd0ad1db3816..be4e7e26e521cba2ff39792d7c14dcd8b475f0d8 100644 (file)
@@ -280,6 +280,7 @@ If we give names, Bison complains.
 %token <scm> MARKUP_HEAD_SCM0_MARKUP1
 %token <scm> MARKUP_HEAD_SCM0_SCM1
 %token <scm> MARKUP_HEAD_SCM0_SCM1_MARKUP2
+%token <scm> MARKUP_HEAD_SCM0_SCM1_MARKUP2_MARKUP3
 %token <scm> MARKUP_HEAD_SCM0_MARKUP1_MARKUP2
 %token <scm> MARKUP_HEAD_SCM0_SCM1_SCM2
 %token <scm> MARKUP_LIST_HEAD_EMPTY
@@ -820,8 +821,20 @@ output_def_body:
 
 tempo_event:
        TEMPO steno_duration '=' bare_unsigned  {
-               $$ = MAKE_SYNTAX ("tempo", @$, $2, scm_int2num ($4));
-       }                               
+               $$ = MAKE_SYNTAX ("tempo", @$, SCM_BOOL_F, $2, scm_int2num ($4));
+       }
+       | TEMPO string steno_duration '=' bare_unsigned {
+               $$ = MAKE_SYNTAX ("tempo", @$, make_simple_markup($2), $3, scm_int2num ($5));
+       }
+       | TEMPO full_markup steno_duration '=' bare_unsigned    {
+               $$ = MAKE_SYNTAX ("tempo", @$, $2, $3, scm_int2num ($5));
+       }
+       | TEMPO string {
+               $$ = MAKE_SYNTAX ("tempoText", @$, make_simple_markup($2) );
+       }
+       | TEMPO full_markup {
+               $$ = MAKE_SYNTAX ("tempoText", @$, $2 );
+       }
        ;
 
 /*
@@ -2350,6 +2363,9 @@ simple_markup:
        | MARKUP_HEAD_SCM0_MARKUP1_MARKUP2 embedded_scm markup markup {
                $$ = scm_list_4 ($1, $2, $3, $4);
        }
+       | MARKUP_HEAD_SCM0_SCM1_MARKUP2_MARKUP3 embedded_scm embedded_scm markup markup {
+               $$ = scm_list_5 ($1, $2, $3, $4, $5);
+       }
        | MARKUP_HEAD_EMPTY {
                $$ = scm_list_1 ($1);
        }