2
lily-parser.hh -- declare Lily_parser
4
source file of the GNU LilyPond music typesetter
6
(c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
10
#define LILY_PARSER_HH
12
#include "duration.hh"
14
#include "std-vector.hh"
18
State for the parser. Do not ever add any variables to parse
19
musical content here. We still have to remove default_duration_.
21
TODO: interface is too complicated
25
DECLARE_SMOBS (Lily_parser,);
26
friend int yyparse (void *);
28
vector<Input> define_spots_;
30
char const *here_str0 () const;
31
Simultaneous_music *get_chord (Pitch tonic,
32
vector<Pitch> *adds, vector<Pitch> *subs,
33
Pitch *inversion, Pitch *bass, Duration d);
34
void set_chord_tremolo (int type_i);
35
void set_last_duration (Duration const *);
36
void set_last_pitch (Pitch const *);
41
Duration default_duration_;
42
string output_basename_;
46
bool ignore_version_b_;
48
Lily_parser (Sources *sources);
49
Lily_parser (Lily_parser const &);
51
DECLARE_SCHEME_CALLBACK (layout_description, ());
55
void parse_file (string init, string name, string out_name);
56
void parse_string (string ly_code);
57
void parser_error (string);
58
void parser_error (Input const &, string);
59
void set_yydebug (bool);
62
DECLARE_UNSMOB (Lily_parser, lily_parser);
64
SCM ly_parse_file (SCM);
65
SCM ly_parse_string (SCM);
66
// SCM ly_parser_add_book_and_score (SCM, SCM);
67
SCM ly_parser_print_book (SCM, SCM);
68
SCM ly_parser_print_score (SCM, SCM);
69
SCM ly_parser_bookify (SCM, SCM);
70
SCM ly_parser_scorify (SCM, SCM);
72
Output_def *get_layout (Lily_parser *parser);
73
Output_def *get_midi (Lily_parser *parser);
74
Output_def *get_paper (Lily_parser *parser);
75
SCM get_header (Lily_parser *parser);
77
#endif /* LILY_PARSER_HH */