lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Atomic expression?


From: Erik Sandberg
Subject: Re: Atomic expression?
Date: Tue, 2 Oct 2007 23:07:12 +0200
User-agent: KMail/1.9.6

On Tuesday 02 October 2007, Francisco Vila wrote:
> I'm sorry, cannot find an earlier message where Mr. percival asked if "e'1"
> is an expression. He was aswered yes, just as "1" is a (minimal) math
> expression.
>
> IMO this is not so easy. [Numerical or symbolical] math expressions can
> substitute another expressions as long as sintaxis allows it. But, can e'1
> without curly braces substitute a true expression as { e'1 } ?
>
> It would be fine if the sintax diagrams of the LP input language were
> easily available. I remember that Pascal lenguage tutorials were completely
> based in these diagrams. This would be too much for someone, but always
> served as a reference.

You may want to look at the parser, the file lily/parser.yy IIRC. You can 
probably find some tool to automatically visualize the parser somehow. There 
are two problems with creating a detailed documenting over the grammar:
1. It would require maintenance.
2. The .ly language is currently quite dirty, so a diagram would still be 
confusing in some places.

Regarding your question, { e'1 } vs e'1: Those expressions are semantically 
equivalent. In some situations, the parser expects a 'composite' music 
expression (on the form { ... } or << ... >> or similar). This only has 
syntactical reasons, it is easier to find the end of an expression if it's 
composite.

Erik




reply via email to

[Prev in Thread] Current Thread [Next in Thread]