On 16 Mar 2004, at 20:50, Steven Bennett wrote:
Steven Bennett writes:
| It was an outrageous example on purpose. It's *definitely* not legal ABC
| 2.0, but the definition I was hearing implied that it would be legal ABC
| 1.*. Which I didn't think it *ought* to be. Which is why I offered my own
| definition of what the actual 1.* behavior ought to be.
|
| That said, the following is perfectly legal in ABC 2.0, by the definition
| currently in the August draft spec:
|
| X:1
| T:some made up tune
| M:4/4
| K:Dminor
| abcd|efga|[K:\
| G][M:3/4]def|gab|
|
| It's just not legal in ABC 1.*. IMHO.
Well, I'd agree that it's legal ABC 2.0, but I'd also claim that it should work under the earlier standards. I don't see any reasonable way that a parser would classify the last line as anything other than "music", which is the same type as the continued line. It's not a "header" line, because it doesn't have a ':' in column 2. It doesn't start with '%'. What else could it be except music?
The problem I have with considering that as legal, is that it could just as
easily have been written like this:
X:1 T:some made up tune M:4/4 K:Dminor abcd|efga|[\ K:G][M:3/4]def|gab|
If the one is legal in 1.*, the other should be. But this second one is a
whole lot more ambiguous for a parser. It's just as well if we avoid the
problem by treating *both* as illegal in 1.*, since it's unlikely anyone
would actually want to use either form. And by doing so, you drastically
simplify the parsing process. (Okay... You drastically simplify *my*
parsing process. <grin> Someone using a different approach might find what
you are suggesting easier to deal with...)
Certainly if the one is legal then the other should be too. However, I suspect that neither is legal, since inline fields were not legal in 1.x. (Well they weren't legal in 1.6. I didn't pay too much attention to 1.7 since it was such a mess.)
I think the "tune" would have to have been written like this:
X:1 T:some made up tune M:4/4 L:1/4 K:Dminor abcd|efga|\ K:G M:3/4 def|gab|
(That used to be the main reason for using continuations, so you could place fields in the middle of a line, while still writing the field definition on a line to itself.)
Phil Taylor
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html