SCM tag = scm_cdr(s2);
if (tag == ly_symbol2scm("empty"))
return MARKUP_LIST_HEAD_EMPTY;
+ else if (tag == ly_symbol2scm ("scheme0"))
+ return MARKUP_LIST_HEAD_SCM0;
else if (tag == ly_symbol2scm ("markup-list0"))
return MARKUP_LIST_HEAD_LIST0;
else if (tag == ly_symbol2scm ("scheme0-markup-list1"))
else if (tag == ly_symbol2scm ("scheme0-scheme1-markup-list2"))
return MARKUP_LIST_HEAD_SCM0_SCM1_LIST2;
else {
- programming_error ("no parser tag defined for this markup signature");
+ programming_error ("no parser tag defined for this markup list signature");
ly_display_scm (s);
assert(false);
}
%token <scm> MARKUP_HEAD_SCM0_SCM1_SCM2
%token <scm> MARKUP_LIST_HEAD_EMPTY
%token <scm> MARKUP_LIST_HEAD_LIST0
+%token <scm> MARKUP_LIST_HEAD_SCM0
%token <scm> MARKUP_LIST_HEAD_SCM0_LIST1
%token <scm> MARKUP_LIST_HEAD_SCM0_SCM1_LIST2
%token <scm> MARKUP_IDENTIFIER
| MARKUP_LIST_HEAD_LIST0 markup_list {
$$ = scm_list_2 ($1, $2);
}
+ | MARKUP_LIST_HEAD_SCM0 embedded_scm {
+ $$ = scm_list_2 ($1, $2);
+ }
| MARKUP_LIST_HEAD_SCM0_LIST1 embedded_scm markup_list {
$$ = scm_list_3 ($1, $2, $3);
}