OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [office] ISO 14977 EBNF grammar


Patrick Durusau:
> After reading ISO 14977 again (actually more than once), it seems to me 
> that we are straining without just cause.

What's the strain?  There are several viable alternatives.
I've provided evidence that the W3C alternative is the best for
OpenFormula's purposes, and that may be true for others as well.
W3C's is designed for XML, and OpenDocument is XML-based, so
it's quite defensible in use.  The ISO format COULD be used, sure.
The, excess, commas, required, by, ISO, are, quite, annoying,
when, you, have, a, number, of, productions.

I also think the W3C's format is also MUCH more commonly used
than ISO's format; I present as evidence:
* http://en.wikipedia.org/wiki/Backus-Naur_form
   which uses "::=" for defining and does NOT use "," for concatenation
* http://cui.unige.ch/db-research/Enseignement/analyseinfo/BNFweb.html
   a big database about programming languages using BNF.
   Again, uses "::=" for defining and does NOT use "," for concatenation
I would rather use the standard format for BNF instead of ISO's format :-).

The paper you pointed me to is unconvincing.  The ISO format
is carefully designed to add lots of extra gunk so that indentation need
not be meaningful.  Yet increasingly meaningful indentation is being seen
as a good thing (e.g., see Python and Haskell); it appears they're working
from an obsolete spec.

> True, I think it requires us 
> to define what we mean by Unicode character, but having done so (I 
> suggest we simply copy the Unicode definition), all we need do is supply 
> a defined start and end for a sequence.

Yes, the lack of range operators can be worked around by using prose
to describe start/end sequences.

--- David A. Wheeler


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]