2 lexer.hh -- declare My_lily_lexer
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--1998 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;
36 String main_input_str_;
39 Notename_table *note_tab_p_;
40 Dictionary<Identifier*> *identifier_p_dict_p_;
41 Keyword_table * keytable_p_;
46 void start_main_input ();
47 void clear_notenames();
48 Identifier*lookup_identifier (String s);
49 Melodic_req* lookup_melodic_req_l (String s);
50 void push_note_state();
51 void push_lyric_state();
53 void LexerError (char const *);
55 void set_identifier (String,Identifier*i);
58 void print_declarations (bool init_b) const;
59 void add_notename (String, Melodic_req*);
60 bool note_state_b() const;
61 bool lyric_state_b() const;