- From: John Lumley <john@saxonica.com>
- Date: Thu, 17 Feb 2022 18:49:01 +0000
- To: "C. M. Sperberg-McQueen" <cmsmcq@blackmesatech.com>
- Cc: Norm Tovey-Walsh <norm@saxonica.com>, public-ixml@w3.org
Might this not be a case where parsing into XML might give some useful insight… if so how might the ‘sensitivity’ be indicated?
Sent from my iPad
> On 17 Feb 2022, at 18:19, C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com> wrote:
>
>
> Norm Tovey-Walsh writes:
>
>>>> Am I missing something?
>>>
>>> What am *I* missing?
>>
>> A comma.
>>
>> entry: -"@", @type, s*, -'{', s*, @citekey, fields?, s* -'}' .
>> ...
>> entry: -"@", @type, s*, -'{', s*, @citekey, fields?, s*, -'}' .
>> ...
>
>> That’s ugly. I wonder if there’s anything reasonable that we could do
>> to make that less likely.
>
> Yeow. That was hard to see.
>
> Syntactically, I don't know if there is any nice solution to make that
> error more detectable.
>
> Given the current syntax, I can think of two things that might have
> surfaced the error:
>
> (1) extra parentheses around the body of the entry (or reification as a
> nonterminal):
>
> entry: -"@", @type, s*, -'{', (s*, @citekey, fields?, s*) -'}' .
>
> entry: -"@", @type, s*, -'{', entry-body -'}' .
> -entrybody: s*, @citekey, fields?, s*.
>
> but I know no motivation for inserting those parentheses, or for that
> matter using that extra nonterminal.
>
> (2) a linter of some kind. It might be as simple as a translation of
> the grammar into prose, the way some XML documentation does it:
>
> An entry is a sequence of
> - the character "@"
> - a type (q.v.)
> - zero or more occurrences of s (q.v.)
> - the character "{"
> - zero or more occurrences of s (q.v.)
> - a citekey (q.v.)
> - an optional occurrence of fields (q.v.)
> - zero or more occurrences of s (q.v.) separated
> by the character "}"
>
> Here I've used (q.v.) to mark what would be hyperlinks to the
> description of that nonterminal.
>
> I should put that on the list of tools to add to Gingersnap.
>
> --
> C. M. Sperberg-McQueen
> Black Mesa Technologies LLC
> http://blackmesatech.com
>
Received on Thursday, 17 February 2022 18:49:18 UTC