2 my-lily-parser.hh -- declare My_lily_parser
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
10 #ifndef MY_LILY_PARSER_HH
11 #define MY_LILY_PARSER_HH
12 #include "lily-proto.hh"
13 #include "duration.hh"
16 #include "lily-proto.hh"
17 #include "lily-proto.hh"
18 #include "duration.hh"
23 class My_lily_parser {
24 char const* here_ch_C() const;
25 Array<Input> define_spot_array_;
28 void add_requests (Chord*v);
30 Chord * get_note_element (Note_req * ,Duration *);
31 Chord* get_rest_element (String,Duration *);
32 Chord* get_word_element (Text_def*, Duration*);
34 void set_last_duration (Duration const *);
35 void set_default_duration (Duration const *);
36 void set_last_abbrev (int type_i);
37 void set_abbrev_beam (int type_i);
38 void set_duration_mode (String s);
39 friend int yyparse (void*);
42 int abbrev_beam_type_i_;
43 int default_abbrev_type_i_;
44 int default_octave_i_;
45 Duration default_duration_;
47 Header *default_header_p_;
49 String textstyle_str_;
51 bool last_duration_mode_b_ ;
52 Array<Request*> pre_reqs, post_reqs;
57 My_lily_lexer * lexer_p_;
60 void add_notename (String, Melodic_req* req_p);
61 Input here_input() const;
65 Paper_def*default_paper();
66 Midi_def*default_midi();
68 void parser_error (String);
69 void clear_notenames();
71 Request* get_parens_request (char c);
74 void set_yydebug (bool);
75 void print_declarations();
76 bool ignore_version_b_;
79 void parse_file ( String init_str, String file_str);
80 My_lily_parser (Sources * sources_l);
82 void set_version_check (bool ignore);
85 #endif // MY_LILY_PARSER_HH