%token MIDI "\\midi"
%token NAME "\\name"
%token NOTEMODE "\\notemode"
-%token OBJECTID "\\objectid"
%token OCTAVE "\\octave"
%token ONCE "\\once"
%token OVERRIDE "\\override"
%type <scm> number_expression
%type <scm> number_factor
%type <scm> number_term
-%type <scm> object_id_setting
%type <scm> octave_check
%type <scm> optional_context_mod
%type <scm> optional_id
;
-object_id_setting:
- OBJECTID STRING { $$ = $2; }
- ;
-
toplevel_expression:
lilypond_header {
PARSER->lexer_->set_identifier (ly_symbol2scm ("$defaultheader"), $1);
$$->scores_ = SCM_EOL;
$$->bookparts_ = SCM_EOL;
}
- | book_body object_id_setting {
- $$->user_key_ = ly_scm2string ($2);
- }
;
bookpart_block:
$$->paper_ = 0;
$$->scores_ = SCM_EOL;
}
- | bookpart_body object_id_setting {
- $$->user_key_ = ly_scm2string ($2);
- }
;
score_block:
$$->protect ();
$$->origin ()->set_spot (@$);
}
- | score_body object_id_setting {
- $$->user_key_ = ly_scm2string ($2);
- }
| score_body lilypond_header {
$$->set_header ($2);
}
;
/* An argument list. If a function \foo expects scm scm music, then the lexer expands \foo into the token sequence:
- MUSIC_FUNCTION EXPECT_MUSIC EXPECT_SCM EXPECT_SCM
+ MUSIC_FUNCTION EXPECT_MUSIC EXPECT_SCM EXPECT_SCM EXPECT_NO_MORE_ARGS
and this rule returns the reversed list of arguments. */
function_arglist_music_last: