2 lexer.hh -- declare My_lily_lexer
4 source file of the LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
12 #include <FlexLexer.h>
14 #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);
37 Notename_table *note_tab_p_;
38 Assoc<String, Identifier*> *identifier_assoc_p_;
39 Keyword_table * keytable_p_;
44 void clear_notenames();
45 Identifier*lookup_identifier(String s);
46 Melodic_req* lookup_melodic_req_l(String s);
47 void push_note_state();
48 void push_lyric_state();
50 void LexerError(char const *);
52 void add_identifier(Identifier*i);
55 void print_declarations(bool init_b) const;
56 void add_notename(String, Melodic_req*);
57 bool note_state_b() const;
58 bool lyric_state_b() const;