2 my-lily-parser.hh -- declare
4 source file of the LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
10 #ifndef MY_LILY_PARSER_HH
11 #define MY_LILY_PARSER_HH
13 #include "duration.hh"
16 #include "lily-proto.hh"
18 #include "duration.hh"
22 class My_lily_parser {
24 friend int yyparse( void*);
26 int default_octave_i_;
27 Duration default_duration_;
28 String textstyle_str_;
30 bool last_duration_mode ;
32 Array<Request*> pre_reqs, post_reqs;
33 Array<const char *> define_spot_array_;
34 char const* defined_ch_C_;
39 My_lily_lexer * lexer_p_;
42 void add_requests( Voice_element*v);
44 Voice_element * get_note_element(Note_req * ,Duration *);
45 Voice_element* get_rest_element(String,Duration *);
46 Voice_element* get_word_element(Text_def*, Duration*);
47 void set_last_duration(Duration const *);
48 void set_duration_mode(String s);
49 char const* here_ch_C()const;
51 Paper_def*default_paper();
53 void parser_error(String);
55 Request* get_parens_request(char c);
58 void set_yydebug(bool);
59 void print_declarations();
61 void parse_file ( String init_str, String file_str);
62 My_lily_parser(Sources * sources_l);
65 #endif // MY_LILY_PARSER_HH