X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmy-lily-lexer.hh;h=b3113bf94b47cfcfe2b36fa6f8176cfac2a476b9;hb=0af2486a28f1c60b9de929a9101964d880927e54;hp=91e51c635bfe27d1ab5ad83627412e80118dbc1a;hpb=5101b276acd03f5c315f1e373df7778461f9a322;p=lilypond.git diff --git a/lily/include/my-lily-lexer.hh b/lily/include/my-lily-lexer.hh index 91e51c635b..b3113bf94b 100644 --- a/lily/include/my-lily-lexer.hh +++ b/lily/include/my-lily-lexer.hh @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1997--1998 Han-Wen Nienhuys + (c) 1997--2000 Han-Wen Nienhuys */ #ifndef LEXER_HH @@ -13,13 +13,13 @@ #include "dictionary.hh" #include "lily-proto.hh" -#include "lily-proto.hh" -#include "fproto.hh" +#include "flower-proto.hh" #include "array.hh" #include "string.hh" #include "includable-lexer.hh" #include "duration.hh" #include "musical-pitch.hh" +#include "protected-scm.hh" bool busy_parsing(); void kill_lexer(); @@ -34,9 +34,13 @@ public: Scope * toplevel_scope_p_; bool main_input_b_; - Notename_table *chordmodifier_tab_p_; - Notename_table *note_tab_p_; - Array scope_l_arr_; + /* + Scheme hash tables with (oct name acc) values, and symbol keys + */ + Protected_scm chordmodifier_tab_; + Protected_scm pitchname_tab_; + + Link_array scope_l_arr_; Keyword_table * keytable_p_; int errorlevel_i_; @@ -44,21 +48,19 @@ public: ~My_lily_lexer (); int yylex (); + Input here_input () const; + void start_main_input (); - bool notename_b (String) const; - bool chordmodifier_b (String) const; void set_chordmodifier_table (Notename_table*tab_p); void set_notename_table (Notename_table*tab_p); - Identifier*lookup_identifier (String s); - Musical_pitch lookup_notename (String s); - Musical_pitch lookup_chordmodifier (String s); + + SCM lookup_identifier (String s); void push_note_state(); void push_chord_state(); void push_lyric_state(); void pop_state(); void LexerError (char const *); - void set_identifier (String str, Identifier* i, bool unique_b = true); - void print_declarations (bool init_b) const; + void set_identifier (String str, SCM); bool note_state_b() const; bool chord_state_b() const; bool lyric_state_b() const;