2 includable-lexer.hh -- declare Includable_lexer
4 source file of the LilyPond music typesetter
6 (c) 1997--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
9 #ifndef INCLUDABLE_LEXER_HH
10 #define INCLUDABLE_LEXER_HH
14 #include <FlexLexer.h>
19 #include "lily-proto.hh"
22 typedef struct yy_buffer_state *YY_BUFFER_STATE;
25 an yyFlexLexer child with provisions for inclusion.
27 class Includable_lexer : public yyFlexLexer
29 Array<YY_BUFFER_STATE> state_stack_;
33 Link_array<Source_file> include_stack_;
34 Array<int> char_count_stack_;
37 bool allow_includes_b_;
42 /// store dependencies for Makefile stuff.
43 Array<String> filename_strings_;
45 Source_file* get_source_file () const;
46 void new_input (String s, Sources*);
47 void new_input (String name, String data, Sources*);
49 void add_lexed_char (int);
50 char const * here_str0 () const;
54 #endif // INCLUDABLE_LEXER_HH