X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fincludable-lexer.hh;h=ab4f520ac1a77f2043b2119ff9a0a760542e3d4b;hb=7e72a1e50e94a7f9738d62599de79fe7745f600c;hp=9cf7087369832046e9946caea707284992c46baf;hpb=69b9cead5afe7164b9053d26eba582fec3825ef8;p=lilypond.git diff --git a/lily/include/includable-lexer.hh b/lily/include/includable-lexer.hh index 9cf7087369..ab4f520ac1 100644 --- a/lily/include/includable-lexer.hh +++ b/lily/include/includable-lexer.hh @@ -3,19 +3,20 @@ source file of the LilyPond music typesetter - (c) 1997--1998 Han-Wen Nienhuys + (c) 1997--2004 Han-Wen Nienhuys */ - #ifndef INCLUDABLE_LEXER_HH #define INCLUDABLE_LEXER_HH +#ifndef LEXER_CC +using namespace std; #include +#endif #include "string.hh" -#include "varray.hh" -#include "fproto.hh" -#include "proto.hh" +#include "parray.hh" +#include "lily-proto.hh" // GIGA urg! typedef struct yy_buffer_state *YY_BUFFER_STATE; @@ -23,22 +24,30 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE; /** an yyFlexLexer child with provisions for inclusion. */ -class Includable_lexer : public yyFlexLexer { +class Includable_lexer : public yyFlexLexer +{ Array state_stack_; + protected: bool close_input (); - Array include_stack_; + Link_array include_stack_; Array char_count_stack_; -public: - /// store dependencies for Makefile stuff. - Array filename_str_arr_; - Source_file* source_file_l () const; - void new_input (String s,Sources*); +public: + bool allow_includes_b_; + Includable_lexer (); ~Includable_lexer (); + + /// store dependencies for Makefile stuff. + Array filename_strings_; + + Source_file* get_source_file () const; + void new_input (String s, Sources*); + void new_input (String name, String data, Sources*); + void add_lexed_char (int); - char const * here_ch_C (); + char const * here_str0 () const; };