Re: [Json] Consensus call: ABNF nits

Stefan Drees <stefan@drees.name> Sat, 22 June 2013 13:19 UTC

Return-Path: <stefan@drees.name>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3D41A11E80F7 for <json@ietfa.amsl.com>; Sat, 22 Jun 2013 06:19:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.815
X-Spam-Level:
X-Spam-Status: No, score=-1.815 tagged_above=-999 required=5 tests=[AWL=-0.166, BAYES_00=-2.599, HELO_EQ_DE=0.35, J_CHICKENPOX_14=0.6]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cFX4IItFvhKX for <json@ietfa.amsl.com>; Sat, 22 Jun 2013 06:19:52 -0700 (PDT)
Received: from mout.web.de (mout.web.de [212.227.15.3]) by ietfa.amsl.com (Postfix) with ESMTP id 35D8C21F9D55 for <json@ietf.org>; Sat, 22 Jun 2013 06:19:51 -0700 (PDT)
Received: from newyork.local.box ([93.129.186.29]) by smtp.web.de (mrweb102) with ESMTPSA (Nemesis) id 0LxwiW-1UBatx2m5E-015Mhz; Sat, 22 Jun 2013 15:19:47 +0200
Message-ID: <51C5A470.4010101@drees.name>
Date: Sat, 22 Jun 2013 15:19:44 +0200
From: Stefan Drees <stefan@drees.name>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130509 Thunderbird/17.0.6
MIME-Version: 1.0
To: Paul Hoffman <paul.hoffman@vpnc.org>
References: <9E497099-2B5B-4256-B066-C2E77B558267@vpnc.org>
In-Reply-To: <9E497099-2B5B-4256-B066-C2E77B558267@vpnc.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K0:3LNkbBP0W1klyCTLRKF2YdUDzzapp+WqW8Ryslww5EtW2T4HAHe K+D+I9i3lrbViJUc82rZOPgBlftAw/Z+U3VVhnpQaeai2cpCtUkfQqeILN0HiHrl5FE5Gpn SHC30LfrBxaeT0szNgdVHRk+m0DbTnFZu/oUek4yuxoc1MvZiMoaMs947H7rvBIYAAwq07o 2kW65rDhrPv5oqh8MXocA==
Cc: JSON WG <json@ietf.org>
Subject: Re: [Json] Consensus call: ABNF nits
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: stefan@drees.name
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <json.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/json>, <mailto:json-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/json>
List-Post: <mailto:json@ietf.org>
List-Help: <mailto:json-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/json>, <mailto:json-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 22 Jun 2013 13:19:58 -0000

On 2013-06-21 18:40 +02:00, Paul Hoffman wrote:
> There are two proposals for dealing with nits in the ABNF:
>    0) Leave the ABNF in the current draft as-is
>    1) Change the ABNF in the draft to use the values in "Proposal 1" below
> Note that later proposals might make technical changes to the ABNF
> itself; those proposals are not what we are discussing in this consensus
> call.
>
> Please respond to this message with a list of proposals you could
> accept, ordered from highest to lowest. Do not list proposals you cannot
> live with. If you cannot accept any of the proposals, please respond and
> say why. ...

[1]

But: Please do not forget to at least consider replacing ws by ows to 
somehow indicate the "nothing"ness it might represent and as already 
discussed on this list inside the ABNF nits thread(s). My motviation in 
this regard has already been explicated, so I do not have to repeat it 
here ;-)

Thanks.

{"Stefan":true}

> -- The JSON WG co-chairs
>
> Proposal #1
> Note that this ABNF is sprinkled throughout Section 2 of draft-ietf-json-rfc4627bis-02. Each
> section below replaces the similar section in the draft.
> ==============================================================
>
> JSON-text = object / array
>
> begin-array     = ws %x5B ws  ; [ left square bracket
> begin-object    = ws %x7B ws  ; { left curly bracket
> end-array       = ws %x5D ws  ; ] right square bracket
> end-object      = ws %x7D ws  ; } right curly bracket
> name-separator  = ws %x3A ws  ; : colon
> value-separator = ws %x2C ws  ; , comma
>
> ws = *(
>       %x20 /              ; Space
>       %x09 /              ; Horizontal tab
>       %x0A /              ; Line feed or New line
>       %x0D                ; Carriage return
>       )
>
> value = false / null / true / object / array / number / string
> false = %x66.61.6c.73.65   ; false
> null  = %x6e.75.6c.6c      ; null
> true  = %x74.72.75.65      ; true
>
> object = begin-object [ member *( value-separator member ) ]
>           end-object
> member = string name-separator value
>
> array = begin-array [ value *( value-separator value ) ] end-array
>
> number = [ minus ] int [ frac ] [ exp ]
> decimal-point = %x2E       ; .
> digit1-9 = %x31-39         ; 1-9
> e = %x65 / %x45            ; e E
> exp = e [ minus / plus ] 1*DIGIT
> frac = decimal-point 1*DIGIT
> int = zero / ( digit1-9 *DIGIT )
> minus = %x2D               ; -
> plus = %x2B                ; +
> zero = %x30                ; 0
> DIGIT = %x30-39            ; 0-9
>        ; DIGIT equivalent to DIGIT rule in [RFC5234]
>
> string = quotation-mark *char quotation-mark
> char = unescaped / (
>      escape (
>          %x22 /           ; "    quotation mark  U+0022
>          %x5C /           ; \    reverse solidus U+005C
>          %x2F /           ; /    solidus         U+002F
>          %x62 /           ; b    backspace       U+0008
>          %x66 /           ; f    form feed       U+000C
>          %x6E /           ; n    line feed       U+000A
>          %x72 /           ; r    carriage return U+000D
>          %x74 /           ; t    tab             U+0009
>          %x75 4HEXDIG ) ) ; uXXXX                U+XXXX
> escape = %x5C              ; \  U+005C
> quotation-mark = %x22      ; "  U+0022
> unescaped = %x20-21 / %x23-5B / %x5D-10FFFF  ; any Unicode scalar
>     ; value, except those that must be escaped (C0 control
>     ; characters, "QUOTATION MARK" [U+0022], and "REVERSE SOLIDUS"
>     ; [U+005C])
> HEXDIG = DIGIT / %x41-46 / %x61-66   ; 0-9, A-F, or a-f
>         ; HEXDIG equivalent to HEXDIG rule in [RFC5234]