X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmy-lily-parser.hh;h=b82571b20c04a99df03cb7b34deaba784b0d3a65;hb=be6b7669873b8b227c224e9ff1e1e101c43426df;hp=301eb358ee4a4aa3114688725ddb17f528447a89;hpb=eabde958a9a4559f474d2736e298bfda9920c4e0;p=lilypond.git diff --git a/lily/include/my-lily-parser.hh b/lily/include/my-lily-parser.hh index 301eb358ee..b82571b20c 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--1999 Han-Wen Nienhuys + (c) 1997--2001 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" @@ -23,57 +24,55 @@ /** State for the parser. Do not ever add any variables to parse 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 (); - void do_init_file(); + void do_init_file (); void parse_file ( String init_str, String file_str); void set_version_check (bool ignore); public: Duration default_duration_; - Musical_pitch default_pitch_; + Scope *default_header_p_; - int abbrev_beam_type_i_; - bool first_b_; + int fatal_error_i_; Sources * source_l_; int error_level_i_; - bool init_parse_b_; + My_lily_lexer * lexer_p_; bool ignore_version_b_; - - - Input here_input() const; - void remember_spot(); - Input pop_spot(); + Input here_input () const; + void push_spot (); + Input pop_spot (); - Paper_def*default_paper_p(); - Midi_def*default_midi_p(); - void do_yyparse(); + void do_yyparse (); void parser_error (String); - void set_debug(); void set_yydebug (bool); + + + DECLARE_SCHEME_CALLBACK (paper_description, ()); private: - char const* here_ch_C() const; + Array define_spot_array_; - String init_str_; - - Simultaneous_music * get_note_element (Note_req * ,Duration *); - Simultaneous_music * get_chord (Musical_pitch, Array*, Array*, Musical_pitch*, Duration); - Simultaneous_music* get_rest_element (String, Duration *); - Simultaneous_music* get_word_element (String, Duration*); - String notename_str (Melodic_req* melodic); - void set_abbrev_beam (int type_i); + + char const* here_ch_C () const; + + Simultaneous_music * get_chord (Pitch tonic, Array* add_arr_p, + Array* sub_arr_p, Pitch* inversion_p, + Pitch* bass_p, 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*); };