}
}
+{FRACTION} {
+ yylval.scm = scan_fraction (YYText ());
+ return FRACTION;
+}
+
-{UNSIGNED} | // backup rule
{REAL} {
yylval.scm = scm_c_read_string (YYText ());
return REAL;
}
+{UNSIGNED}/\/ | // backup rule
{UNSIGNED} {
yylval.scm = scm_c_read_string (YYText ());
return UNSIGNED;
void
Lily_lexer::pop_state ()
{
+ bool extra = (YYSTATE == extratoken);
+
+ if (extra)
+ yy_pop_state ();
+
if (YYSTATE == notes || YYSTATE == chords)
pitchname_tab_stack_ = scm_cdr (pitchname_tab_stack_);
yy_pop_state ();
+
+ if (extra) {
+ hidden_state_ = YYSTATE;
+ yy_push_state (extratoken);
+ }
}
int
{
int funtype = SCM_FUNCTION;
- yylval.scm = get_music_function_transform (sid);
+ yylval.scm = sid;
- SCM s = scm_object_property (yylval.scm, ly_symbol2scm ("music-function-signature"));
+ SCM s = get_music_function_signature (sid);
SCM cs = scm_car (s);
if (scm_is_pair (cs))