[Ltru] ABNFs in draft-ietf-ltru-matching-05

"Kent Karlsson" <kentk@cs.chalmers.se> Thu, 13 October 2005 15:12 UTC

Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1EQ4kV-0002Ro-J4; Thu, 13 Oct 2005 11:12:03 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1EQ4kT-0002Rb-HI for ltru@megatron.ietf.org; Thu, 13 Oct 2005 11:12:01 -0400
Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id LAA23021 for <ltru@ietf.org>; Thu, 13 Oct 2005 11:11:57 -0400 (EDT)
Received: from anubis.medic.chalmers.se ([129.16.30.218]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1EQ4ux-0006NO-C0 for ltru@ietf.org; Thu, 13 Oct 2005 11:22:54 -0400
X-Medic-Info: 3e3b.434e7937.0 4JyTStuyM7Iv5w5W
Received: from webmail.chalmers.se (elbe1.ita.chalmers.se [129.16.222.100]) by mail.chalmers.se (Postfix) with ESMTP id AC6C1DE57 for <ltru@ietf.org>; Thu, 13 Oct 2005 17:11:51 +0200 (CEST)
Received: from 83.248.26.202 (SquirrelMail authenticated user kent); by webmail.chalmers.se with HTTP; Thu, 13 Oct 2005 17:11:51 +0200 (CEST)
Message-ID: <62152.83.248.26.202.1129216311.squirrel@webmail.chalmers.se>
Date: Thu, 13 Oct 2005 17:11:51 +0200
From: Kent Karlsson <kentk@cs.chalmers.se>
To: LTRU Working Group <ltru@ietf.org>
User-Agent: SquirrelMail/1.4.3a-7.EL3
X-Mailer: SquirrelMail/1.4.3a-7.EL3
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
X-Priority: 3 (Normal)
Importance: Normal
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Scan-Signature: a8041eca2a724d631b098c15e9048ce9
Content-Transfer-Encoding: quoted-printable
Subject: [Ltru] ABNFs in draft-ietf-ltru-matching-05
X-BeenThere: ltru@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Language Tag Registry Update working group discussion list <ltru.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ltru>, <mailto:ltru-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/ltru>
List-Post: <mailto:ltru@ietf.org>
List-Help: <mailto:ltru-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ltru>, <mailto:ltru-request@ietf.org?subject=subscribe>
Sender: ltru-bounces@ietf.org
Errors-To: ltru-bounces@ietf.org

> language-range = language-tag / "*"
> language-tag   = 1*8[alphanum] *["-" 1*8alphanum]

But we have Language-Tag (titlecase name) in -registry.

Why this confusing language-tag (lowercase name) in -matching,
with quite a different grammar? Why not reuse the Language-Tag
of -registry? And that without quoting the grammar, just referring
to -registry.


> alphanum       = ALPHA / DIGIT

In -registry that is
alphanum      = (ALPHA / DIGIT)       ; letters and numbers

Now that spaces are so important, I'm not sure how important
the parentheses are... But that is moot if we just refer to the
Language-Tag ABNF of -registry.

I would also prefer to have the alternative on a line by itself.

The figure should have a number and a figure caption:
"Basic language range/pattern". Yes, I would still prefer
calling these "patterns" rather than "ranges", perhaps with
an aliasing in the introduction.

++++++++++++++++++++thus++++++++++++++++++++++++++

Basic-Language-Tag-Pattern
              = Language-Tag
              / "*"

Figure 1: Basic Language Pattern ABNF
++++++++++++++++++++++++++++++++++++++++++++++++++
and add a sentence explaining that the ABNF for Language-Tag
can be found in Figure 1 of -registry.

-----------

> extended-language-range  = range ; a range
>               / privateuse              ; private use tag
>               / grandfathered           ; grandfathered registrations

I don't like the reuse of non-terminal names. They are
defined and used in -registry and they may easily be both
informally and formally referred to from the same place.
So please use non-terminal names that aren't used in -registry,
unless the ABNF for them is exactly the same (in which case
we can just refer to figure 1 of -registry for those).

++++++++++++++++++++thus++++++++++++++++++++++++++
Extended-Language-Tag-Pattern
              = langtag-pattern
              / privateuse              ; private use tag
              / grandfathered           ; grandfathered registrations
++++++++++++++++++++++++++++++++++++++++++++++++++

Note that the grammar for grandfathered is just as in
-registry, and we need only refer to figure 1 of -registry.

> range         = (language
>                  ["-" script]
>                  ["-" region]
>                  *("-" variant)
>                  *("-" extension)
>                  ["-" privateuse])

+++++++++++++++++++++and++++++++++++++++++++++++++
langtag-pattern
              = (language-pattern
                 ["-" script-pattern]
                 ["-" region-pattern]
                 *("-" variant-pattern)
                 *("-" extension-pattern)
                 ["-" privateuse])
++++++++++++++++++++++++++++++++++++++++++++++++++

> language      = (2*3ALPHA [ extlang ]) ; shortest ISO 639 code
>               / 4ALPHA                 ; reserved for future use
>               / 5*8ALPHA               ; registered language subtag
>               / "*"                    ; ... or wildcard

+++++++++++++++++++++and++++++++++++++++++++++++++
language-pattern
              = (2*3ALPHA [ extlang-pattern ])
              / 4ALPHA                 ; reserved for future use
              / 5*8ALPHA               ; registered language subtag
              / "*"                    ; ... or wildcard
++++++++++++++++++++++++++++++++++++++++++++++++++

> extlang       = *2("-" 3ALPHA) ("-" ( 3ALPHA / "*"))
>                                        ; reserved for future use
>                                        ; wildcard can only appear
>                                        ;   at the end

+++++++++++++++++++++and++++++++++++++++++++++++++
extlang-pattern
              = *2("-" 3ALPHA) ("-" ( 3ALPHA / "*"))
                                       ; reserved for future use
                                       ; wildcard can only appear
                                       ;   at the end
++++++++++++++++++++++++++++++++++++++++++++++++++

> script        = 4ALPHA                 ; ISO 15924 code
>               / "*"                    ; or wildcard

+++++++++++++++++++++and++++++++++++++++++++++++++
script-pattern
              = 4ALPHA                 ; ISO 15924 code
              / "*"                    ; or wildcard
++++++++++++++++++++++++++++++++++++++++++++++++++

But it would suffice to say:
+++++++++++++++++++++alternative++++++++++++++++++++++
script-pattern
              = script
              / "*"                    ; ... or wildcard
++++++++++++++++++++++++++++++++++++++++++++++++++
relying on 'script' in figure 1 of -registry.

> region        = 2ALPHA                 ; ISO 3166 code
>               / 3DIGIT                 ; UN M.49 code
>               / "*"                    ; ... or wildcard

++++++++++++++++++++++and++++++++++++++++++++++++++
region-pattern
              = 2ALPHA                 ; ISO 3166 code
              / 3DIGIT                 ; UN M.49 code
              / "*"                    ; ... or wildcard
++++++++++++++++++++++++++++++++++++++++++++++++++

But it would suffice to say:
+++++++++++++++++++++alternative++++++++++++++++++++++
region-pattern
              = region
              / "*"                    ; ... or wildcard
++++++++++++++++++++++++++++++++++++++++++++++++++
relying on 'region' in figure 1 of -registry.

> variant       = 5*8alphanum            ; registered variants
>               / (DIGIT 3alphanum)      ;
>               / "*"                    ; ... or wildcard

+++++++++++++++++++++and++++++++++++++++++++++++++
variant-pattern
              = 5*8alphanum            ; registered variants
              / (DIGIT 3alphanum)      ;
              / "*"                    ; ... or wildcard
++++++++++++++++++++++++++++++++++++++++++++++++++

But it would suffice to say:
+++++++++++++++++++++alternative++++++++++++++++++++++
variant-pattern
              = variant
              / "*"                    ; ... or wildcard
++++++++++++++++++++++++++++++++++++++++++++++++++
relying on 'variant' in figure 1 of -registry.

> extension     = singleton *("-" (2*8alphanum)) [ "-*" ]
>                                        ; extension subtags
>                                        ; wildcard can only appear
>                                        ;   at the end

+++++++++++++++++++++and++++++++++++++++++++++++++
extension-pattern
              = singleton *("-" (2*8alphanum)) [ "-*" ]
                                       ; extension subtags
                                       ; wildcard can only appear
                                       ;   at the end
++++++++++++++++++++++++++++++++++++++++++++++++++

> singleton     = %x41-57 / %x59-5A / %x61-77 / %x79-7A / DIGIT
>               ; "a"-"w" / "y"-"z" / "A"-"W" / "Y"-"Z" / "0"-"9"
>               ; Single letters: x/X is reserved for private use
>
> privateuse    = ("x"/"X") 1*("-" (1*8alphanum))
>
> grandfathered = 1*3ALPHA 1*2("-" (2*8alphanum))
>                 ; grandfathered registration
>                 ; Note: i is the only singleton
>                 ; that starts a grandfathered tag
>
> alphanum      = (ALPHA / DIGIT)       ; letters and numbers

These four last ones are unchanged from -registry language tag ABNF,
and we can just refer to figure 1 of -registry.


The figure should have a number and a figure caption: Extended language
range/pattern.

----------------------

Similarly, several other figures should be numbered and get captions.

		/kent k



_______________________________________________
Ltru mailing list
Ltru@ietf.org
https://www1.ietf.org/mailman/listinfo/ltru