2 lexer.hh -- declare My_flex_lexer
4 source file of the LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
11 #include <FlexLexer.h>
18 void yyerror(const char *s
);
23 /// lexer with provisions for include files.
24 struct My_flex_lexer
: yyFlexLexer
{
26 Array
<Input_file
*> include_stack
;
27 Assoc
<String
, Identifier
*> *the_id_tab
;
28 Keyword_table
* keytable
;
29 Notename_tab
* defaulttab
;
32 int ret_notename(int *p
, String text
, int octave_mod
);
33 char const* here_ch_c_l();
34 void set(Notename_tab
*n
);
35 int lookup_keyword(String
);
36 void lookup_notename(int &large
, int &small
, String s
);
37 void LexerError(const char *);
39 Identifier
*lookup_identifier(String s
);
41 void add_identifier(Identifier
*i
);
43 void new_input(String s
);
46 void print_declarations() const;
49 extern My_flex_lexer
*lexer
;