2 lexer.hh -- declare My_lily_lexer
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
12 #include <FlexLexer.h>
14 #include "lily-proto.hh"
15 #include "lily-proto.hh"
19 #include "includable-lexer.hh"
20 #include "duration.hh"
28 class My_lily_lexer : public Includable_lexer {
29 int lookup_keyword (String);
30 int scan_bare_word (String);
31 int scan_escaped_word (String);
34 char escaped_char(char) const;
38 Notename_table *note_tab_p_;
39 Dictionary<Identifier*> *identifier_p_dict_p_;
40 Keyword_table * keytable_p_;
45 void clear_notenames();
46 Identifier*lookup_identifier (String s);
47 Melodic_req* lookup_melodic_req_l (String s);
48 void push_note_state();
49 void push_lyric_state();
51 void LexerError (char const *);
53 void set_identifier (String,Identifier*i);
56 void print_declarations (bool init_b) const;
57 void add_notename (String, Melodic_req*);
58 bool note_state_b() const;
59 bool lyric_state_b() const;