From 0f59cb098b500005efe0b6910dc8ff497571c676 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Wed, 16 Nov 2011 23:18:35 +0100 Subject: [PATCH] Allow embedded Scheme inside of markup expressions --- lily/parser.yy | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/lily/parser.yy b/lily/parser.yy index 24c2bdcd34..eef98eb8cb 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -2862,6 +2862,21 @@ markup_top: } ; +markup_scm: + embedded_scm_bare + { + if (Text_interface::is_markup ($1)) + MYBACKUP (MARKUP_IDENTIFIER, $1, @1); + else if (Text_interface::is_markup_list ($1)) + MYBACKUP (MARKUPLIST_IDENTIFIER, $1, @1); + else { + PARSER->parser_error (@1, _("markup expected")); + MYBACKUP (MARKUP_IDENTIFIER, scm_string (SCM_EOL), @1); + } + } BACKUP + ; + + markup_list: MARKUPLIST_IDENTIFIER { $$ = $1; @@ -2875,6 +2890,10 @@ markup_list: | markup_command_list { $$ = scm_list_1 ($1); } + | markup_scm MARKUPLIST_IDENTIFIER + { + $$ = $2; + } ; markup_composed_list: @@ -2965,6 +2984,10 @@ simple_markup: | MARKUP_FUNCTION markup_command_basic_arguments { $$ = scm_cons ($1, scm_reverse_x ($2, SCM_EOL)); } + | markup_scm MARKUP_IDENTIFIER + { + $$ = $2; + } ; markup: -- 2.39.5