X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Flily-parser.hh;h=c0943ccdbaba316907454897e0ecf307a2aee279;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=131c7783625447d66e737210b0a5e0a60cd4c533;hpb=c659cb200486c2f908703696a1b2873e78c8160a;p=lilypond.git diff --git a/lily/include/lily-parser.hh b/lily/include/lily-parser.hh index 131c778362..c0943ccdba 100644 --- a/lily/include/lily-parser.hh +++ b/lily/include/lily-parser.hh @@ -3,15 +3,14 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2004 Han-Wen Nienhuys + (c) 1997--2008 Han-Wen Nienhuys */ -#ifndef MY_LILY_PARSER_HH -#define MY_LILY_PARSER_HH +#ifndef LILY_PARSER_HH +#define LILY_PARSER_HH #include "duration.hh" #include "input.hh" -#include "parray.hh" #include "pitch.hh" /** @@ -20,18 +19,18 @@ TODO: interface is too complicated */ -class Lily_parser +class Lily_parser { - DECLARE_SMOBS (Lily_parser, ); - friend int yyparse (void*); + DECLARE_SMOBS (Lily_parser); + friend int yyparse (void *); - Array define_spots_; + vector define_spots_; - char const* here_str0 () const; + 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); + vector *adds, vector *subs, + Pitch *inversion, Pitch *bass, Duration d); + void set_chord_tremolo (int type); void set_last_duration (Duration const *); void set_last_pitch (Pitch const *); @@ -39,34 +38,30 @@ public: Lily_lexer *lexer_; Sources *sources_; Duration default_duration_; - String output_basename_; - - int score_count_; - int book_count_; + string output_basename_; int fatal_error_; int error_level_; bool ignore_version_b_; - SCM last_beam_start_; Lily_parser (Sources *sources); - Lily_parser (Lily_parser const&); + Lily_parser (Lily_parser const &); DECLARE_SCHEME_CALLBACK (layout_description, ()); - Input here_input () const; - Input pop_spot (); - void beam_check (SCM); + void clear (); void do_init_file (); void do_yyparse (); - void parse_file (String init, String name, String out_name); - void parse_string (String ly_code); - void parser_error (String); - void push_spot (); + void parse_file (string init, string name, string out_name); + void parse_string (string ly_code); + void parser_error (string); + void parser_error (Input const &, string); void set_yydebug (bool); + + SCM make_scope () const; }; -DECLARE_UNSMOB (Lily_parser, my_lily_parser); +DECLARE_UNSMOB (Lily_parser, lily_parser); SCM ly_parse_file (SCM); SCM ly_parse_string (SCM); @@ -79,5 +74,10 @@ SCM ly_parser_scorify (SCM, SCM); Output_def *get_layout (Lily_parser *parser); Output_def *get_midi (Lily_parser *parser); Output_def *get_paper (Lily_parser *parser); +void init_papers (Lily_parser *parser); +void push_paper (Lily_parser *parser, Output_def *paper); +void pop_paper (Lily_parser *parser); +void set_paper (Lily_parser *parser, Output_def *paper); +SCM get_header (Lily_parser *parser); -#endif /* MY_LILY_PARSER_HH */ +#endif /* LILY_PARSER_HH */