+ | closed_scm_function_call
+ ;
+
+embedded_scm:
+ closed_embedded_scm
+ | open_scm_function_call
+ ;
+
+closed_scm_function_call:
+ SCM_FUNCTION closed_function_arglist
+ {
+ $$ = run_music_function (PARSER, @$,
+ $1, $2);
+ }
+ ;
+
+open_scm_function_call:
+ SCM_FUNCTION open_function_arglist
+ {
+ $$ = run_music_function (PARSER, @$,
+ $1, $2);
+ }
+ ;
+
+embedded_lilypond:
+ { $$ = MAKE_SYNTAX ("void-music", @$, SCM_UNDEFINED); }
+ | identifier_init
+ | music music music_list {
+ $$ = MAKE_SYNTAX ("sequential-music", @$,
+ scm_cons2 ($1, $2, scm_reverse_x ($3, SCM_EOL)));
+ }
+ | error {
+ PARSER->error_level_ = 1;
+ }
+ | embedded_lilypond INVALID {
+ PARSER->error_level_ = 1;
+ }