2 my-lily-parser.hh -- declare My_lily_parser
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"
23 class My_lily_parser {
24 char const* here_ch_C()const;
25 Array<Input> define_spot_array_;
28 void add_requests( Voice_element*v);
30 Voice_element * get_note_element(Note_req * ,Duration *);
31 Voice_element* get_rest_element(String,Duration *);
32 Voice_element* get_word_element(Text_def*, Duration*);
33 void set_last_duration(Duration const *);
34 void set_duration_mode(String s);
35 friend int yyparse( void*);
37 int default_octave_i_;
38 Duration default_duration_;
39 String textstyle_str_;
41 bool last_duration_mode ;
42 Array<Request*> pre_reqs, post_reqs;
47 My_lily_lexer * lexer_p_;
50 void add_notename(String, Melodic_req* req_p);
51 Input here_input()const;
55 Paper_def*default_paper();
57 void parser_error(String);
58 void clear_notenames();
60 Request* get_parens_request(char c);
63 void set_yydebug(bool);
64 void print_declarations();
66 void parse_file ( String init_str, String file_str);
67 My_lily_parser(Sources * sources_l);
71 #endif // MY_LILY_PARSER_HH