[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [office] ISO 14977 EBNF grammar
David,
So, I take it that the technical issue (as oppose to aesthetics, etc.)
is the lack of support for character and negated ranges?
When you say "lack of support" I assume you mean that character and
negative ranges are not predefined? Yes?
Which is than saying ISO/IEC 14977 cannot define character and negated
ranges. Yes?
Err, then you say it lacks "regular expression" support? But as above,
that is simply a question of defining the support that we want/need. Yes?
I note that the use of the XML BNF starts with Chapter 5 of the formula
work. I would think it would be better to use a BNF to define the
primitives up to that point so as to avoid ambiguity running up to
Chapter 5. I don't doubt that the formula SC was far more consistent
than previous versions of ODF but it would not hurt to use a notation
that binds all of it together.
Hope you are having a great day!
Patrick
David A. Wheeler wrote:
> Patrick Durusau:
>
>> The ISO EBNF grammar:
>> http://standards.iso.org/ittf/PubliclyAvailableStandards/s026153_ISO_IEC_14977_1996(E).zip
>>
>
> Currently, in OpenFormula we use W3C's XML spec for BNFs instead of the ISO EBNF
> or IETF BNF.
>
> The ISO spec is not a _bad_ one, but it does have weaknesses for the formula purposes.
>
> When comparing ISO's with the W3C XML spec:
> * The ISO spec has no support for character ranges and negated ranges
> (part of regular expressions), while XML's does.
> We use this capability; for some (like SheetName) it's not clear how hard that
> change will be.
> * The ISO spec requires the use of "," for concatenation, instead of that
> being the default. It also requires ";" to terminate every production.
> As a result, ISO's format is much wordier to express the same thing. E.G.:
> ... SheetLocator "." Column Row (':' SheetLocator "." Column Row )? ..
> would become:
> ... SheetLocator, ".", Column, Row, (':', SheetLocator, ".", Column, Row )? .. ;
> Not a show-stopper, but I think that's unfortunate. Concatenation is EXTREMELY
> common in BNF, so failing to have it as a default operator complicates the spec.
> * The ISO spec's definition operator is "=", which is easily confused with the "="
> used inside BNFs themselves. That's not as big a deal.
>
> Historically, the ISO document was expensive, while the XML specification was
> freely available. I think it would have been unconscionable to have referred to the
> ISO spec while it was expensive, but now that the ISO document is publicly available
> without fee, I think it _could_ be used. However, its lack of regular expression
> support, and unnecessary wordiness, do not give any incentives.
>
> It would take a little time to change to the ISO BNF. To change this in OpenFormula,
> all the productions would have to change, e.g., change "::=" to "=", inserting
> commas everywhere, and trying to figure out how to replace the character ranges.
>
> Another BNF format is IETF RFC 4234. It's kind of ugly; alternatives use "/" instead
> of the more common "|", and you HAVE to group them (which is a pain). Even weirder,
> to indicate repetition you PRECEDE the item with "*" instead of follow it.
> Every book I've seen has "*" FOLLOW the item to be repeated.
> In my mind, IETF's is the worst of the three in terms of clarity.
>
> After looking at the W3C (XML), ISO, and IETF formats for BNFs, we chose the
> W3C's XML format. Reasons:
> * W3C's format produces the clearest, simplest specs with the same meaning.
> Concatenation is the default, alternatives are "|", the "*" is AFTER the repeated item.
> The resulting spec, with the same meaning, is simpler than with ISO or IETF.
> * W3C's format includes character range support. ISO's does not.
> * OpenDocument is itself based on XML, so it made sense to use the same format
> used to spec XML.
> * XML's format is publicly available at no charge. At the time I believe that was
> not true of ISO's format. It appears this point, at least, is moot (hooray!).
>
> XML is a standard, in every reasonable sense of the word, so using its BNF format
> is (in my opinion) very defensible.
>
> --- David A. Wheeler
>
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail. You may a link to this group and all your TCs in OASIS
> at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
>
>
>
--
Patrick Durusau
patrick@durusau.net
Chair, V1 - US TAG to JTC 1/SC 34
Convener, JTC 1/SC 34/WG 3 (Topic Maps)
Editor, OpenDocument Format TC (OASIS), Project Editor ISO/IEC 26300
Co-Editor, ISO/IEC 13250-1, 13250-5 (Topic Maps)
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]