Review of draft-philips-langtags-03: ABNF errors

Mark Davis mark.davis at jtcsv.com
Thu Jun 24 00:42:52 CEST 2004


We are using =/ as defined in the RFC (ftp://ftp.isi.edu/in-notes/rfc2234.txt)

.3  Incremental Alternatives                    Rule1 =/ Rule2

   It is sometimes convenient to specify a list of alternatives in
   fragments.  That is, an initial rule may match one or more
   alternatives, with later rule definitions adding to the set of
   alternatives.  This is particularly useful for otherwise- independent
   specifications which derive from the same parent rule set, such as
   often occurs with parameter lists.  ABNF permits this incremental
   definition through the construct:

        oldrule     =/ additional-alternatives

   So that the rule set

        ruleset     =  alt1 / alt2

        ruleset     =/ alt3

        ruleset     =/ alt4 / alt5

   is the same as specifying

        ruleset     =  alt1 / alt2 / alt3 / alt4 / alt5

For spaces, we were using them for readability (not that ABNF is particularly
readable anyway), but it appears that we shouldn't:

        For Internet
        specifications, there is some history of permitting linear white
        space (space and horizontal tab) to be freelyPand
        implicitlyPinterspersed around major constructs, such as
        delimiting special characters or atomic strings.

        NOTE:     This specification for ABNF does not
                  provide for implicit specification of linear white
                  space.

   Any grammar which wishes to permit linear white space around
   delimiters or string segments must specify it explicitly.  It is
   often useful to provide for such white space in "core" rules that are
   then used variously among higher-level rules.  The "core" rules might
   be formed into a lexical analyzer or simply be part of the main
   ruleset.


Mark
__________________________________
http://www.macchiato.com
► शिष्यादिच्छेत्पराजयम् ◄

----- Original Message ----- 
From: "Harald Tveit Alvestrand" <harald at alvestrand.no>
To: <ietf-languages at iana.org>
Sent: Wed, 2004 Jun 23 13:08
Subject: Review of draft-philips-langtags-03: ABNF errors


> I have at last started to seriously review this document, with a view to
> offering my opinion to the IESG for their perusal - I'll recuse on the
> processing itself.
>
> But - the ABNF is NOT ready for prime time.
>
> The authors seem to believe that =/ is a continuation symbol (it is not),
> and that there is a space between the number-quantifier and the rule it
> quantifies (there isn't).
>
> Also, "x" strings are case-insensitive, so they can't be used in ranges -
> hex codes have to be used.
>
> And underscores aren't allowed in rule names.
>
> Here's a grammar for the stuff that at least parses correctly:
> ------------------------------------------------------------
> langtag   = lang *("-" extlang) ["-" script] ["-" region]
> *("-" variant) *("-" extension) *("-" private-use)
>       / private-use       ; private use tag
>       / grandfathered     ; grandfathered registrations
>
> lang            = 2*3ALPHA                ; shortest ISO 639 code
> / registered-lang
> extlang         = 3ALPHA                  ; reserved for future use
> script          = 4ALPHA                  ; ISO 15924 code
> region          = 2ALPHA                  ; ISO 3166 code
> / 3DIGIT                 ; UN country number
> variant         =  5*15alphanum           ; registered or private use
> variants
> extension       = singleton 1*("-" (2*31alphanum)) ; extension subtag(s)
> private-use     = "x" 1*("-" (1*31alphanum))       ; private use subtag(s)
> singleton       = ALPHA      ; single letters - x has spec meaning
> registered-lang = 4*15ALPHA               ; registered language subtag
> grandfathered   = ALPHA *(alphanum / "-") ; grandfathered registration
> alphanum        = (ALPHA / DIGIT)          ; letters and numbers
>
>
>
> _______________________________________________
> Ietf-languages mailing list
> Ietf-languages at alvestrand.no
> http://www.alvestrand.no/mailman/listinfo/ietf-languages
>



More information about the Ietf-languages mailing list