/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1996--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1996--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
LilyPond is free software: you can redistribute it and/or modify
yylval.scm = scm_from_locale_string (s);
return RESTNAME;
}
+<chords,notes,figures>q {
+ return CHORD_REPETITION;
+}
+
<chords,notes,figures>R {
return MULTI_MEASURE_REST;
}
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))
yylval.scm = scm_cdr (handle);
return CHORD_MODIFIER;
}
- if ((chord_repetition_.repetition_symbol_ != SCM_EOL)
- && to_boolean (scm_equal_p (chord_repetition_.repetition_symbol_, sym)))
- return CHORD_REPETITION;
}
-
yylval.scm = ly_string2scm (str);
return STRING;
}