%option noyywrap
%option nodefault
%option debug
-%option yyclass="My_lily_lexer"
+%option yyclass="Lily_lexer"
%option stack
%option never-interactive
%option warn
{
start_main_input ();
main_input_b_ = true;
- SCM nn = lookup_identifier ("pitchnames");
- push_note_state (alist_to_hashq (nn));
}
else
error (_ ("\\maininput not allowed outside init files"));
%%
void
-My_lily_lexer::push_chord_state (SCM tab)
+Lily_lexer::push_chord_state (SCM tab)
{
pitchname_tab_stack_ = scm_cons (tab, pitchname_tab_stack_);
yy_push_state (chords);
}
void
-My_lily_lexer::push_figuredbass_state ()
+Lily_lexer::push_figuredbass_state ()
{
yy_push_state (figures);
}
void
-My_lily_lexer::push_initial_state ()
+Lily_lexer::push_initial_state ()
{
yy_push_state (INITIAL);
}
void
-My_lily_lexer::push_lyric_state ()
+Lily_lexer::push_lyric_state ()
{
yy_push_state (lyrics);
}
void
-My_lily_lexer::push_markup_state ()
+Lily_lexer::push_markup_state ()
{
yy_push_state (markup);
}
void
-My_lily_lexer::push_note_state (SCM tab)
+Lily_lexer::push_note_state (SCM tab)
{
pitchname_tab_stack_ = scm_cons (tab, pitchname_tab_stack_);
yy_push_state (notes);
}
void
-My_lily_lexer::pop_state ()
+Lily_lexer::pop_state ()
{
if (YYSTATE == notes || YYSTATE == chords)
pitchname_tab_stack_ = ly_cdr (pitchname_tab_stack_);
}
int
-My_lily_lexer::identifier_type (SCM sid)
+Lily_lexer::identifier_type (SCM sid)
{
int k = try_special_identifiers (&yylval.scm , sid);
return k >= 0 ? k : SCM_IDENTIFIER;
int
-My_lily_lexer::scan_escaped_word (String str)
+Lily_lexer::scan_escaped_word (String str)
{
// use more SCM for this.
}
int
-My_lily_lexer::scan_bare_word (String str)
+Lily_lexer::scan_bare_word (String str)
{
SCM sym = ly_symbol2scm (str.to_str0 ());
if ((YYSTATE == notes) || (YYSTATE == chords)) {
}
bool
-My_lily_lexer::is_note_state () const
+Lily_lexer::is_note_state () const
{
return YY_START == notes;
}
bool
-My_lily_lexer::is_chord_state () const
+Lily_lexer::is_chord_state () const
{
return YY_START == chords;
}
bool
-My_lily_lexer::is_lyric_state () const
+Lily_lexer::is_lyric_state () const
{
return YY_START == lyrics;
}
bool
-My_lily_lexer::is_figure_state () const
+Lily_lexer::is_figure_state () const
{
return YY_START == figures;
}
{
return MUSIC_FUNCTION_SCM_MUSIC;
}
+ else if (type == ly_symbol2scm ("scm-scm"))
+ {
+ return MUSIC_FUNCTION_SCM_SCM;
+ }
else if (type == ly_symbol2scm ("music-music"))
{
return MUSIC_FUNCTION_MUSIC_MUSIC;
else
{
/* TODO: print location */
- error ("Can not find sigature for music function.");
+ error ("Can not find signature for music function.");
}
return MUSIC_FUNCTION_SCM;