;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
-;;;; Copyright (C) 2004--2010 Nicolas Sceaux <nicolas.sceaux@free.fr>
+;;;; Copyright (C) 2004--2011 Nicolas Sceaux <nicolas.sceaux@free.fr>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;;;;
;;;; LilyPond is free software: you can redistribute it and/or modify
(char->integer #\0)))))
(string->list (number->string var-idx)))))))))
-(define-public (parse-string-result str parser)
- "Parse `str', which is supposed to contain a music expression."
-
- (ly:parser-parse-string
- parser
- (format #f "parseStringResult = \\notemode { ~a }" str))
- (ly:parser-lookup parser 'parseStringResult))
-
(define-public (read-lily-expression chr port)
- "Read a #{ lily music expression #} from port and return
-the scheme music expression. The $ character may be used to introduce
-scheme forms, typically symbols. $$ may be used to simply write a `$'
-character."
+ "Read a lilypond music expression enclosed within @code{#@}} and @code{#@}}
+from @var{port} and return the corresponding Scheme music expression.
+The @samp{$} character may be used to introduce Scheme forms, typically
+symbols. @code{$$} may be used to simply write a @samp{$} character itself."
(let ((bindings '()))
(define (create-binding! val)
,@(map (lambda (binding)
`(ly:parser-define! parser-clone ',(car binding) ,(cdr binding)))
(reverse bindings))
- (parse-string-result ,lily-string parser-clone)))))
+ (ly:parse-string-expression parser-clone ,lily-string)))))
(read-hash-extend #\{ read-lily-expression)