X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmy-lily-lexer.cc;h=49d84d6335efbb3619cc61a937be719042924de3;hb=0cf97b5cdceecbba937f43ac827f4065aad5001e;hp=4d5a2a024c0bc0565bdadaa64f07521eb37829a9;hpb=194ef0e7e19c7a7c0836b6bd3ed2788a56220d2f;p=lilypond.git diff --git a/lily/my-lily-lexer.cc b/lily/my-lily-lexer.cc index 4d5a2a024c..49d84d6335 100644 --- a/lily/my-lily-lexer.cc +++ b/lily/my-lily-lexer.cc @@ -16,15 +16,19 @@ #include "my-lily-lexer.hh" #include "debug.hh" #include "source-file.hh" -#include "parseconstruct.hh" #include "main.hh" #include "scope.hh" +#include "input.hh" static Keyword_ent the_key_tab[]={ - {"absdynamic", ABSDYNAMIC}, + {"autochange", AUTOCHANGE}, + {"spanrequest", SPANREQUEST}, + {"simultaneous", SIMULTANEOUS}, + {"sequential", SEQUENTIAL}, {"accepts", ACCEPTS}, {"alternative", ALTERNATIVE}, {"bar", BAR}, + {"breathe", BREATHE}, {"cadenza", CADENZA}, {"chordmodifiers", CHORDMODIFIERS}, {"chords", CHORDS}, @@ -35,7 +39,7 @@ static Keyword_ent the_key_tab[]={ {"context", CONTEXT}, {"duration", DURATION}, {"font", FONT}, - {"grouping", GROUPING}, + {"grace", GRACE}, {"header", HEADER}, {"in", IN_T}, {"lyrics", LYRICS}, @@ -49,7 +53,7 @@ static Keyword_ent the_key_tab[]={ {"mm", MM_T}, {"name", NAME}, {"notenames", NOTENAMES}, - {"notes" , NOTES}, + {"notes", NOTES}, {"partial", PARTIAL}, {"paper", PAPER}, {"penalty", PENALTY}, @@ -58,13 +62,15 @@ static Keyword_ent the_key_tab[]={ {"relative", RELATIVE}, {"remove", REMOVE}, {"repeat", REPEAT}, + {"repetitions", REPETITIONS}, + {"addlyrics", ADDLYRICS}, {"scm", SCM_T}, {"scmfile", SCMFILE}, {"score", SCORE}, {"script", SCRIPT}, {"shape", SHAPE}, {"skip", SKIP}, - {"spandynamic", SPANDYNAMIC}, + {"textscript", TEXTSCRIPT}, {"tempo", TEMPO}, {"translator", TRANSLATOR}, {"transpose", TRANSPOSE}, @@ -104,9 +110,9 @@ My_lily_lexer::lookup_identifier (String s) void My_lily_lexer::start_main_input () { - if (!monitor->silent_b ("InitDeclarations") && check_debug) + if (flower_dstream && !flower_dstream->silent_b ("InitDeclarations") && flower_dstream) print_declarations (true); - if (!monitor->silent_b ("InitLexer") && check_debug) + if (flower_dstream && !flower_dstream->silent_b ("InitLexer") && flower_dstream) set_debug (1); @@ -129,13 +135,13 @@ My_lily_lexer::set_identifier (String name_str, Identifier* i, bool ) { #if 0 if (unique_b) - old->warning(_f ("redeclaration of `\\%s\'", name_str)); + old->warning(_f ("redeclaration of `\\%s'", name_str)); #endif delete old; } if (lookup_keyword (name_str) >= 0) { - warning ( _f ("Identifier name is a keyword (`%s')", name_str)); + warning ( _f ("Identifier name is a keyword: `%s'", name_str)); } scope_l_arr_.top ()->elem (name_str) = i; @@ -143,6 +149,7 @@ My_lily_lexer::set_identifier (String name_str, Identifier* i, bool ) My_lily_lexer::~My_lily_lexer() { + delete chordmodifier_tab_p_; delete keytable_p_; delete toplevel_scope_p_ ; delete note_tab_p_; @@ -153,7 +160,7 @@ My_lily_lexer::print_declarations (bool ) const { for (int i=scope_l_arr_.size (); i--; ) { - DOUT << "Scope no. " << i << '\n'; + DEBUG_OUT << "Scope no. " << i << '\n'; scope_l_arr_[i]->print (); } } @@ -228,3 +235,10 @@ My_lily_lexer::escaped_char(char c) const } return 0; } + +Input +My_lily_lexer::here_input () const +{ + Source_file * f_l= source_file_l (); + return Input (f_l, (char*)here_ch_C ()); +}