On Tuesday 26 September 2006 23:54, Han-Wen Nienhuys wrote:
> Erik Sandberg schreef:
> > Hi,
> >
> > You should use ly:clone-parser to avoid this problem:
> >
> > #(define-music-function (parser location) ()
> >    (ly:parser-parse-string (ly:clone-parser parser) "\\include
> > \"test-data.ly\"")
> >    (make-music 'SequentialMusic 'void #t))
> >
> > The same problem exists in previous versions, it happens whenever the
> > lexer needs to read a lookahead token before applying a function:
>
> I'm not sure. Since the arity of the function is known beforehand, the
> parser doesn't need any lookahead before applying the function. How does
> this work in the new EXPECT_XXX setup?

In the case \unaryFun c { d }, we still need to read a lookahead token after 
the c (could be a 8 or a '); I think this problem always existed.

The new thing now is that also 0-ary functions are subject to the same 
problem: We need to read an extra token to see whether an EXPECT_XXX comes. 
If you like, I can fix this particular case by adding a special token for 
0-ary functions (but this will not fix the underlying problem).

-- 
Erik


_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to