Subject: [Ltru] The purpose of ABNF (was: Re: draft-15 posted...)

From: "Doug Ewell" <[email-masked]>
Date: Wed, 11 Jun 2008 19:24:50 -0600

As far as I can tell, Kent's concern is that certain grandfathered tags 
like "no-bok" are no longer included in the ABNF "irregular" production, 
even though they are not language-extlang pairs from a semantic 
standpoint.

If I remember correctly, the purpose of the ABNF in BCP 47 is to 
describe the syntax of a language tag, without consideration of the 
meaning (if any) of that tag.  Thus a tag like "sur-Bugi-UY" is just as 
valid as any other even though not much Mwaghavul is written in the 
Buginese script and/or used in Uruguay.  It also means a tag like 
"pu-rud-Blaz-FU-scrog-f-vlad-x-druz" is valid as well, even though not 
one of those subtags is in the Registry.

I think the syntactical concept of "irregular" is being mixed up with 
the semantic concepts of "grandfathered" and "redundant."  The ABNF has 
an "irregular" production to cover things like "i-hak" and "sgn-CH-DE", 
but it isn't supposed to tell me whether that tag is grandfathered or 
redundant, or even meaningful.  That's not its job.

Parsing a tag is partly a matter of checking its syntax against the ABNF 
(including the "irregular" production) and, for some applications, 
partly a matter of determining its semantic meaning.  In theory, if you 
have a non-grandfathered tag, you can take it apart and examine the 
subtags ("hmmm... Mwaghavul... Buginese... Uruguay...") to discover at 
least something about its meaning, whereas if it is grandfathered, you 
have to go by the one Description field ("Min, Fuzhou, Hokkien, Amoy, or 
Taiwanese," and hope it is more accurate than in this example).

I think in this thread, the important but separate concepts of syntax 
and semantics are being blurred, and the ABNF is being inappropriately 
held accountable for representing semantics.

--
Doug Ewell  *  Arvada, Colorado, USA  *  RFC 4645  *  UTN #14
http://www.ewellic.org
http://www1.ietf.org/html.charters/ltru-charter.html
http://www.alvestrand.no/mailman/listinfo/ietf-languages  ˆ

_______________________________________________
Ltru mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/ltru

---

From: Stephane Bortzmeyer <[email-masked]>
Date: Thu, 12 Jun 2008 09:21:54 +0200

On Wed, Jun 11, 2008 at 07:24:50PM -0600,
 Doug Ewell <[email-masked]> wrote 
 a message of 7 lines which said:

> Thus a tag like "sur-Bugi-UY" is just as valid as any other even
> though not much Mwaghavul is written in the Buginese script and/or
> used in Uruguay.  It also means a tag like
> "pu-rud-Blaz-FU-scrog-f-vlad-x-druz" is valid as well, even though
> not one of those subtags is in the Registry.

According to -15, it does not seem true. sur-Bugi-UY is valid
(well-formed and all its subtags are in the registry),
pu-rud-Blaz-FU-scrog-f-vlad-x-druz is not (well-formed but that's
all).

To quote section 2.2.9:

   o  The tag is either a grandfathered tag, or all of its language,
      extlang, script, region, and variant subtags appear in the IANA
      language subtag registry as of the particular registry date.

---

From: "Kent Karlsson" <[email-masked]>
Date: Thu, 12 Jun 2008 09:40:02 +0200

If the purpose of the ABNF was only as you state below, then just
having 

language-tag = (1*8ALPHA *("-" 1*8alphanum)) 

would suffice, and refer all the rest to the registry. The reason
we have a more complex ABNF is to be able to parse the tag
**correctly** **without** looking at the registry.

Letting (e.g.) "no-bok" be parsed as if it contained an extlang
is (to me at least) comparable to letting (in some C-like programming
language) "if (x==0)..." not parse as an if-statement, but as a
while-statement just because the condition uses the variable x
declared as an int, and we'd then need to redo the parse and disallow
an "else"-part (along with a rather drastic semantic change).

Either we disassociate syntax and semantic altogether (see
production above), or we let them go hand-in-hand (almost the
current ABNF, but needs some minor fixes that I'm asking for)
Not something in-between.

The RFC4646 ABNF was too ambiguous, and not easily resolvable
to an intended unambiguous parse. For the 4646bis ABNF, it
is easy (with the fixes I suggested, explicitly for extlang,
implicitly but similar for variants) to get an unambiguous parse
also for an ambiguous grammar (but much less so than for the
RFC4646 ABNF), using "standard" parsing methods. 

	/kent k

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On 
> Behalf Of Doug Ewell
> Sent: Thursday, June 12, 2008 3:25 AM
> To: LTRU Working Group
> Subject: [Ltru] The purpose of ABNF (was: Re: draft-15 posted...)
>

---

From: "Doug Ewell" <[email-masked]>
Date: Thu, 12 Jun 2008 07:36:05 -0600

> pu-rud-Blaz-FU-scrog-f-vlad-x-druz is not (well-formed but that's 

No, you're right, I used the locally reserved word "valid" incorrectly. 
I had meant to avoid these special words and use a neutral term like "it 
checks out OK in the ABNF," and made a mistake.

Another try:

Both "sur-Bugi-UY" and "pu-rud-Blaz-FU-scrog-f-vlad-x-druz" are fine as 
far as the ABNF is concerned, but the first refers to a language variety 
that probably doesn't exist, while the second consists of gibberish. 
Detecting the semantic bogosity of these two tags is not the purpose of 
the ABNF.

---

From: John Cowan <[email-masked]>
Date: Thu, 12 Jun 2008 10:23:19 -0400

> Not something in-between.

For heaven's sake.  You are fussing about the status of *nine tags*, all
but one of which are or will be obsolete.  Special-case them in your code
(along with the 17 tags you *must* special-case) and leave it at that.

-- 
John Cowan
        [email-masked]
                I am a member of a civilization. --David Brin
_______________________________________________
Ltru mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/ltru