X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmy-lily-parser.hh;h=7f8534b5ba29d21c06c6689ba014f77b16061d79;hb=f84fa056117227739b77c1c50efc06e6ef4f32da;hp=3ea7db50a78a2c6b1923e045a6926203bfb159de;hpb=462ddeacef82187d5b85eb92c167f08561ad311a;p=lilypond.git diff --git a/lily/include/my-lily-parser.hh b/lily/include/my-lily-parser.hh index 3ea7db50a7..7f8534b5ba 100644 --- a/lily/include/my-lily-parser.hh +++ b/lily/include/my-lily-parser.hh @@ -3,19 +3,20 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2000 Han-Wen Nienhuys + (c) 1997--2003 Han-Wen Nienhuys */ #ifndef MY_LILY_PARSER_HH #define MY_LILY_PARSER_HH + #include "lily-proto.hh" #include "string.hh" #include "parray.hh" #include "lily-proto.hh" #include "lily-proto.hh" #include "duration.hh" -#include "musical-pitch.hh" +#include "pitch.hh" #include "string.hh" #include "array.hh" #include "input.hh" @@ -25,49 +26,55 @@ musical content here. We still have to remove default_duration_. TODO: interface is too complicated - */ class My_lily_parser { public: - My_lily_parser (Sources * sources_l); - ~My_lily_parser(); + My_lily_parser (Input_file_results * sources); + ~My_lily_parser (); - void do_init_file(); - void parse_file ( String init_str, String file_str); - void set_version_check (bool ignore); + void do_init_file (); + void parse_file ( String init_string, String file_string); public: Duration default_duration_; - Scope *default_header_p_; + Scheme_hash_table *default_header_; - int fatal_error_i_; - Sources * source_l_; - int error_level_i_; + int fatal_error_; + Input_file_results * input_file_; + int error_level_; - My_lily_lexer * lexer_p_; + My_lily_lexer * lexer_; bool ignore_version_b_; - - Input here_input() const; - void remember_spot(); - Input pop_spot(); + + SCM last_beam_start_; + void beam_check (SCM); + + Input here_input () const; + void push_spot (); + Input pop_spot (); - void do_yyparse(); + void do_yyparse (); void parser_error (String); void set_yydebug (bool); + + + DECLARE_SCHEME_CALLBACK (paper_description, ()); private: - - Array define_spot_array_; - char const* here_ch_C() const; + Array define_spots_; - Simultaneous_music * get_chord (Musical_pitch tonic, Array* add_arr_p, Array* sub_arr_p, Musical_pitch* inversion_p, Musical_pitch* bass_p, Duration d); + char const* here_str0 () const; + Simultaneous_music * get_chord (Pitch tonic, Array* adds, + Array* subs, Pitch* inversion, + Pitch* bass, Duration d); + void set_chord_tremolo (int type_i); void set_last_duration (Duration const *); - void set_last_pitch (Musical_pitch const *); + void set_last_pitch (Pitch const *); friend int yyparse (void*); };