Luca Fascione <[email protected]> writes:
> On second thought, I don't think it is all that obvious that my original
> interpretation was wrong, David.
> You said
>
> On Fri, Aug 21, 2026 at 9:02 AM David Kastrup <[email protected]> wrote:
>
>> your understanding is wrong. \relative takes
>> a _pitch_ argument as its start, not a note, so this is parsed as
>>
>> \relative a' { 4 } { c }
>>
>
> Although my understanding of the frontend's current behavior was wrong, I
> believe my expectation was reasonable,
> because this issue of mine stems from the grammar ambiguity introduced by
> making the startpitch argument to \relative optional.
No, it doesn't. The interpretation with non-optional pitch would be
exactly the same.
> The ambiguity resolution in `\relative a'4` you're saying today goes to
> `\relative a' { 4 }`, but I expected it would go to `\relative { a'4 }` ==
> `\relative a' { a'4 }` instead,
I don't think that would have happened: an LALR(1) grammar is likely too
greedy for that. And humans tend to be greedier, so I guess you are
somewhat alone with your interpretation.
> because this is what a human would expect
What am I, chopped liver? This is what _one_ human would expect.
> no effect on the score, whereas if one insists on the current eager
> parsing, it would feel more useful if the behaviour of unattached
> duration/articulations was as if the previous note were explicitly
> repeated inside: `f \relative a' { 4 }` == `f \relative a' { f4 }`,
> meaning printing the second f an octave higher, in this example.
So you think if I wrote
\relative { c'4. 8 4 4 }
that each note should be an octave higher than the last one? That does
not sound useful to me at all.
--
David Kastrup