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


David A. Wheeler wrote:
> I said:
>>> Yes, the lack of range operators can be worked around by using prose
>>> to describe start/end sequences.
> Patrick Durusau:
>> Err, no, can't we define the start and end sequences in the EBNF?
> No. ISO's BNF format CANNOT do that.
> ISO 14977 has no range operators. That's what I tried to explain
> in my first message, sorry if that wasn't clear.
> Yes, you can easily specify the start and stop values in the ISO BNF format,
> but since ISO BNF it has no range operator, it doesn't do any good.
No, you were clear.

My point is that you can use ISO 14977 to define a range operator and 
the Unicode characters that you want to use with it.

See: http://www.open-std.org/jtc1/sc22/wg11/docs/n506.pdf, for example. 
(It uses ISO 14977 to define a range operator.)

I was *hearing* you as saying that ISO 14977 could not support range 
operators on Unicode characters, whether that was what you intended or not.

What I am suggesting that that ISO 14977 could define uChar 
someRangeOperator uChar by defining a regex for uChar. It isn't 
necessary to enumerate the Unicode characters. That is done in EBNF 
because it is defining the characters to be used within the grammar. 
Once you have that set, well, the rest is up to your imagination.


Hope you are having a great day!


>> Give me something more than aesthetics...
> Okay, we're back to my first email.
> There is no range operator in ISO's BNF format, there _is_ one
> in W3C's format, and range operators are valuable
> for this kind of spec.
> Look at Wikipedia's example for ISO BNF:
> alphabetic character = "A" | "B" | "C" | "D" | "E" | "F" | "G"
>                      | "H" | "I" | "J" | "K" | "L" | "M" | "N"
>                      | "O" | "P" | "Q" | "R" | "S" | "T" | "U"
>                      | "V" | "W" | "X" | "Y" | "Z" ;
> Contrast this with W3C/XML BNF:
>   alphabetic_character ::= [A-Z]
> There are lesser reasons.  ISO's BNF spec also lacks a character
> negation operator (though there's an ugly workaround for that),
> and its comma-notation makes this kind of spec unnecessarily
> wordy (never mind aesthetics; wordiness is not desirable for any spec).
> But I think the lack of a range operator is a simple and concise rationale.
> Certainly, we should use standards where we can, but the XML spec
> is a standard.  And in particular, we're specifying an XML format, so using
> the XML spec's notation for an XML-based format is sensible.
>> Oh my! Dueling Wiki entries:
>> http://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form
>> ;-)
> Actually, the "ISO" examples are not compliant with ISO's spec; they
> are a mix of W3C and ISO formats.
> IE, they use "::=" to define their productions, even though
> the ISO symbol is "=" instead. It's not a good sign when even the people writing
> about the ISO format use W3C-format examples.
> Anyway...
>> PS: Any more basis stuff? Not that I have time this week, I am trying to 
>> finish inserting references in the draft so testing of adding 
>> auto-generated content can begin.
> I'm waiting for more test cases.  Once I get them, I think we can clearly
> document what's going on.
> --- 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
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]