]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/my-lily-lexer.hh
release: 0.1.65
[lilypond.git] / lily / include / my-lily-lexer.hh
index 8aa5319c28cb28b6a4298ae83df4cd62820e5103..42ac85949fc10d6a6bf1eb9730915649e2ee89f3 100644 (file)
@@ -11,6 +11,7 @@
 
 #include <FlexLexer.h>
 
+#include "dictionary.hh"
 #include "lily-proto.hh"
 #include "lily-proto.hh"
 #include "fproto.hh"
@@ -18,6 +19,7 @@
 #include "string.hh"
 #include "includable-lexer.hh"
 #include "duration.hh"
+#include "musical-pitch.hh"
 
 bool busy_parsing();
 void kill_lexer();
@@ -30,14 +32,14 @@ class My_lily_lexer : public Includable_lexer {
   int scan_bare_word (String);
   int scan_escaped_word (String);
 
-  bool post_quotes_b_;
   char escaped_char(char) const;
 public:
   String main_input_str_;
   void * lexval_l;
+  Scope * toplevel_scope_p_;
   
-  Notename_table  *note_tab_p_;
-  Dictionary<Identifier*> *identifier_p_dict_p_;
+  Notename_table *note_tab_p_;
+  Array<Scope*> scope_l_arr_;
   Keyword_table * keytable_p_;
   int errorlevel_i_;
 
@@ -45,18 +47,19 @@ public:
 
   void start_main_input ();
   void clear_notenames();
+  bool notename_b(String) const;
   Identifier*lookup_identifier (String s);
-  Melodic_req* lookup_melodic_req_l (String s);
+  Musical_pitch lookup_pitch (String s);
   void push_note_state();
   void push_lyric_state();
   void pop_state();
   void LexerError (char const *);
   My_lily_lexer();
-  void set_identifier (String,Identifier*i);
+  void set_identifier (String str, Identifier* i, bool unique_b = true);
   ~My_lily_lexer();
   int yylex();
   void print_declarations (bool init_b) const;
-  void add_notename (String, Melodic_req*);
+  void add_notename (String, Musical_pitch);
   bool note_state_b() const;
   bool lyric_state_b() const;
 };