Re: Properties of the ixml grammar

On Monday 17 October 2022 19:04:07 (+02:00), Norm Tovey-Walsh wrote:

> Steven Pemberton <steven.pemberton@cwi.nl> writes:
> > If I were to ask you what were the properties of the ixml grammar that
> > are interesting, what would you answer?
> > Here is my list, but have I omitted anything that you have noticed?
>
> I’m not sure I really understand what you’re looking for.
>
> > * All meaningful characters are in attributes.
>
> Okay, this seems to be about the XML serialization of an ixml grammar,
> in particular. Yes, that’s interesting.
Of *the* ixml grammar.

> > * All non-meaningful characters are deleted.
>
> Aside from whitespace, there aren’t any non-meaningful characters, so I
> might have drafted this as “irrelevant whitespace is removed” or
> something like that.

There are syntactic characters, and meaningful characters. The content of a string is meaningful, but not which quotes is what created with for instance. There is no meaning attached to the difference between 'string' and "string".

> > * 'Whitespace' includes both space characters and comments, and while
> > spaces are deleted in the output, comments are not. This means that
> > the placing of the space rules has to make sure that comments do not
> > end up in attributes.
>
> I guess that’s interesting.
>
> > * The marks for a rule are always on the definition; they are never
> > overridden in use.
>
> I’m not sure I follow. Given:
>
> ^S = a | @b.
> ^a = "a" .
> ^b = "b" .
>
> It sure looks like the mark on the “b” rule, “^” is being overridden in
> use in the “S” rule.

But this is never used in the grammar of ixml.

> I have sometimes been puzzled by the way the <alts> element is sometimes
> present and sometimes not, but I can’t point to an example off the top
> of my head.

Oh you're right! This is a place where the default of a rule *is* overridden. I was wrong. In the body of a rule, the <alts> gets elided, but in a group
 ( a; b; c)
they don't in order to preserve the grouping.

Steven

Received on Monday, 17 October 2022 22:00:12 UTC