]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/parser.yy
* lily/include/my-lily-parser.hh: rename My_lily -> Lily
[lilypond.git] / lily / parser.yy
index 7fe839ccf00d3570e9875135510d174931c959c5..2188cd934ddde3fc3f22e638dfba2632cd7c656e 100644 (file)
@@ -61,7 +61,7 @@ SCM get_next_unique_context ();
 #define YYPARSE_PARAM my_lily_parser
 #define YYLEX_PARAM my_lily_parser
 #define THIS\
-       ((My_lily_parser *) my_lily_parser)
+       ((Lily_parser *) my_lily_parser)
 
 #define yyerror THIS->parser_error
 
@@ -205,8 +205,8 @@ of the parse stack onto the heap. */
 int
 yylex (YYSTYPE *s, void *v)
 {
-       My_lily_parser *pars = (My_lily_parser*) v;
-       My_lily_lexer *lex = pars->lexer_;
+       Lily_parser *pars = (Lily_parser*) v;
+       Lily_lexer *lex = pars->lexer_;
 
        lex->lexval = (void*) s;
        lex->prepare_for_next_token ();
@@ -223,8 +223,13 @@ yylex (YYSTYPE *s, void *v)
 
 2. \markup identifier.
 
+  (what? --hwn)
+
 3. \markup { }
 
+  (what? --hwn)
+
+
 4.  \repeat
        \repeat .. \alternative
 
@@ -270,7 +275,6 @@ or
 %token INVALID
 %token KEY
 %token LYRICS
-%token LYRICS_STRING
 %token MARK
 %token MIDI
 %token MULTI_MEASURE_REST
@@ -331,6 +335,7 @@ or
 %token <scm>   NUMBER_IDENTIFIER
 %token <scm>   OUTPUT_DEF_IDENTIFIER
 %token <scm>   RESTNAME
+%token <scm> LYRICS_STRING
 %token <scm>   SCM_T
 %token <scm>   SCORE_IDENTIFIER
 %token <scm>   STRING
@@ -548,9 +553,6 @@ identifier_init:
                $$ = $1->self_scm ();
                scm_gc_unprotect_object ($$);
        }
-       | full_markup {
-               $$ = $1;
-       }
        | output_def {
                $$ = $1->self_scm ();
                scm_gc_unprotect_object ($$);
@@ -567,14 +569,20 @@ identifier_init:
                scm_gc_unprotect_object ($$);
        }
        | number_expression {
-               $$ = $1;
+               $$ = $1;
        }
        | string {
                $$ = $1;
        }
-       | embedded_scm  {
+        | embedded_scm {
+               $$ = $1;
+       }
+       | full_markup {
                $$ = $1;
        }
+       | DIGIT {
+               $$ = scm_int2num ($1);
+       }
        ;
 
 context_def_spec_block:
@@ -1100,7 +1108,7 @@ Prefix_composite_music:
                SCM nn = THIS->lexer_->lookup_identifier ("pitchnames");
                THIS->lexer_->push_note_state (alist_to_hashq (nn));
        }
-       Music
+       Grouped_music_list
                { $$ = $3;
                  THIS->lexer_->pop_state ();
                }
@@ -1109,13 +1117,13 @@ Prefix_composite_music:
                SCM nn = THIS->lexer_->lookup_identifier ("drumPitchNames");
                THIS->lexer_->push_note_state (alist_to_hashq (nn));
        }
-       Music 
+       Grouped_music_list
                { $$ = $3;
                  THIS->lexer_->pop_state ();
                }
        | FIGURES
                { THIS->lexer_->push_figuredbass_state (); }
-       Music
+       Grouped_music_list
                {
                  Music *chm = MY_MAKE_MUSIC ("UntransposableMusic");
                  chm->set_property ("element", $3->self_scm ());
@@ -1131,7 +1139,7 @@ Prefix_composite_music:
                THIS->lexer_->push_chord_state (alist_to_hashq (nn));
 
        }
-       Music
+       Grouped_music_list
        {
                  Music *chm = MY_MAKE_MUSIC ("UnrelativableMusic");
                  chm->set_property ("element", $3->self_scm ());
@@ -1142,7 +1150,7 @@ Prefix_composite_music:
        }
        | LYRICS
                { THIS->lexer_->push_lyric_state (); }
-       Music
+       Grouped_music_list
                {
                  $$ = $3;
                  THIS->lexer_->pop_state ();
@@ -1349,21 +1357,27 @@ string:
        ;
 
 simple_string: STRING {
+               $$ = $1;
        }
        | LYRICS_STRING {
+               $$ = $1;
        }
        ;
 
 scalar: string {
+               $$ = $1;
        }
        | LYRICS_STRING {
+               $$ = $1;
        }
         | bare_int {
                $$ = scm_int2num ($1);
        }
         | embedded_scm {
+               $$ = $1;
        }
        | full_markup {
+               $$ = $1;
        }
        | DIGIT {
                $$ = scm_int2num ($1);
@@ -1371,9 +1385,8 @@ scalar: string {
        ;
 
 /*
-FIXME: remove or fix this comment.  What is `This'?
 
-This is a trick:
+pre_events doesn't contain anything. It is a trick:
 
 Adding pre_events to the simple_element
 makes the choice between
@@ -2502,7 +2515,7 @@ markup_list_body:
 %%
 
 void
-My_lily_parser::set_yydebug (bool )
+Lily_parser::set_yydebug (bool )
 {
 #if 0
        yydebug = 1;
@@ -2510,7 +2523,7 @@ My_lily_parser::set_yydebug (bool )
 }
 
 void
-My_lily_parser::do_yyparse ()
+Lily_parser::do_yyparse ()
 {
        yyparse ((void*)this);
 }
@@ -2528,7 +2541,7 @@ skipTypesetting speeds it up a lot.
 */
 
 void
-My_lily_parser::beam_check (SCM dur)
+Lily_parser::beam_check (SCM dur)
 {
   Duration *d = unsmob_duration (dur);
   if (unsmob_music (last_beam_start_) && d->duration_log () <= 2)
@@ -2549,7 +2562,7 @@ otherwise, we have to import music classes into the lexer.
 
 */
 int
-My_lily_lexer::try_special_identifiers (SCM *destination, SCM sid)
+Lily_lexer::try_special_identifiers (SCM *destination, SCM sid)
 {
        if (ly_c_string_p (sid)) {
                *destination = sid;