lexer_ is set, ie. in parse_string and parse_file.
* scm/lily.scm (collect-scores-for-book): new function.
* lily/my-lily-parser.cc (LY_DEFINE): define parser in parser
scope, not in lily module.
2004-06-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
2004-06-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/my-lily-parser.cc (parse_string): init parser variable when
+ lexer_ is set, ie. in parse_string and parse_file.
+
* lily/book.cc (LY_DEFINE): new function. ly:make-book. Supercedes
ly:score-bookify.
* lily/book.cc (LY_DEFINE): new function. ly:make-book. Supercedes
ly:score-bookify.
My_lily_parser::parse_file (String init, String name, String out_name)
{
lexer_ = new My_lily_lexer (sources_);
My_lily_parser::parse_file (String init, String name, String out_name)
{
lexer_ = new My_lily_lexer (sources_);
+ // TODO: use $parser
+ lexer_->set_identifier (ly_symbol2scm ("parser"),
+ self_scm ());
output_basename_ = out_name;
lexer_->main_input_name_ = name;
output_basename_ = out_name;
lexer_->main_input_name_ = name;
lexer_ = (parent == 0 ? new My_lily_lexer (sources_)
: new My_lily_lexer (*parent));
lexer_ = (parent == 0 ? new My_lily_lexer (sources_)
: new My_lily_lexer (*parent));
+ // TODO: use $parser
+ lexer_->set_identifier (ly_symbol2scm ("parser"),
+ self_scm ());
+
lexer_->main_input_name_ = "<string>";
lexer_->main_input_b_ = true;
lexer_->main_input_name_ = "<string>";
lexer_->main_input_b_ = true;
My_lily_parser *parser = new My_lily_parser (&sources);
My_lily_parser *parser = new My_lily_parser (&sources);
- // TODO: use $parser
- parser->lexer_->set_identifier (ly_symbol2scm ("parser"),
- parser->self_scm ());
parser->parse_file (init, file_name, out_file);
bool error = parser->error_level_;
parser->parse_file (init, file_name, out_file);
bool error = parser->error_level_;
;; parser stuff.
(define-public (print-music-as-book parser music)
;; parser stuff.
(define-public (print-music-as-book parser music)
- (let* (
- (head (ly:parser-lookup parser '$globalheader))
- (book (ly:score-bookify score head)))
+ (let* ((head (ly:parser-lookup parser '$globalheader))
+ (book (ly:make-book (ly:parser-lookup parser $defaultbookpaper)
+ head score)))
(ly:parser-print-book parser book)))
(define-public (print-score-as-book parser score)
(let*
((head (ly:parser-lookup parser '$globalheader))
(ly:parser-print-book parser book)))
(define-public (print-score-as-book parser score)
(let*
((head (ly:parser-lookup parser '$globalheader))
- (book (ly:score-bookify score head)))
-
+ (book (ly:make-book (ly:parser-lookup parser $defaultbookpaper)
+ head score)))
(ly:parser-print-book parser book)))
(define-public (print-score parser score)
(let* ((head (ly:parser-lookup parser '$globalheader))
(ly:parser-print-book parser book)))
(define-public (print-score parser score)
(let* ((head (ly:parser-lookup parser '$globalheader))
- (book (ly:score-bookify score head)))
+ (book (ly:make-book (ly:parser-lookup parser $defaultbookpaper)
+ head score)))
(ly:parser-print-score parser book)))
(define-public (collect-scores-for-book parser score)
(ly:parser-print-score parser book)))
(define-public (collect-scores-for-book parser score)
ly:round-filled-box
ly:run-translator
ly:set-option
ly:round-filled-box
ly:run-translator
ly:set-option
ly:set-point-and-click
ly:spanner-broken-into
ly:spanner-get-bound
ly:set-point-and-click
ly:spanner-broken-into
ly:spanner-get-bound