X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Delivered-To: barryleiba.mailing.lists@gmail.com
Received: by 10.58.106.73 with SMTP id gs9csp638764veb;
        Tue, 8 Jul 2014 04:21:21 -0700 (PDT)
X-Received: by 10.68.139.225 with SMTP id rb1mr836710pbb.153.1404818480511;
        Tue, 08 Jul 2014 04:21:20 -0700 (PDT)
Return-Path: <abnf-discuss-bounces@ietf.org>
Received: from mail.ietf.org (mail.ietf.org. [2001:1900:3001:11::2c])
        by mx.google.com with ESMTPS id bk5si5941421pdb.158.2014.07.08.04.21.19
        for <multiple recipients>
        (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Tue, 08 Jul 2014 04:21:20 -0700 (PDT)
Received-SPF: pass (google.com: domain of abnf-discuss-bounces@ietf.org designates 2001:1900:3001:11::2c as permitted sender) client-ip=2001:1900:3001:11::2c;
Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of abnf-discuss-bounces@ietf.org designates 2001:1900:3001:11::2c as permitted sender) smtp.mail=abnf-discuss-bounces@ietf.org;
       dkim=pass header.i=@ietf.org
Received: from ietfa.amsl.com (localhost [IPv6:::1])
	by ietfa.amsl.com (Postfix) with ESMTP id 44CAB1B2A09;
	Tue,  8 Jul 2014 04:21:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1;
	t=1404818479; bh=yqLtm2HMyNds1zp0QhC/PUwdu1RhgYGIxlM85MgqcF0=;
	h=Date:From:To:In-Reply-To:Message-ID:References:MIME-Version:Cc:
	 Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:
	 List-Subscribe:Content-Type:Content-Transfer-Encoding:Sender;
	b=Ich1af0omrPmEmj+0/In2z+2TZ+RVF+TnuvetVYyWKsOEPj6OPFQjI7yctXhfx+26
	 WUxKtflRkLeOgRK0pSO5RoiOqYalUuY+EWfvy4H80E2c7oIZQDmALwxq7d9Nq+Qug7
	 XPI+4RlbzqDuX1foveSa+qsjtIZFzCzI8MjvpnVU=
X-Original-To: abnf-discuss@ietfa.amsl.com
Delivered-To: abnf-discuss@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1])
 by ietfa.amsl.com (Postfix) with ESMTP id EB2CD1B29DC
 for <abnf-discuss@ietfa.amsl.com>; Tue,  8 Jul 2014 04:21:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.151
X-Spam-Level: 
X-Spam-Status: No, score=-1.151 tagged_above=-999 required=5
 tests=[BAYES_05=-0.5, RP_MATCHES_RCVD=-0.651] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44])
 by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id FAdJls4keOOC for <abnf-discuss@ietfa.amsl.com>;
 Tue,  8 Jul 2014 04:21:11 -0700 (PDT)
Received: from ppsw-50.csi.cam.ac.uk (ppsw-50-v6.csi.cam.ac.uk
 [IPv6:2001:630:212:8::e:f50])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id 33FEE1B2800
 for <abnf-discuss@ietf.org>; Tue,  8 Jul 2014 04:21:11 -0700 (PDT)
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from hermes-1.csi.cam.ac.uk ([131.111.8.51]:42780)
 by ppsw-50.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.158]:25)
 with esmtpa (EXTERNAL:fanf2) id 1X4TSO-00076j-qp (Exim 4.82_3-c0e5623)
 (return-path <fanf2@hermes.cam.ac.uk>); Tue, 08 Jul 2014 12:21:08 +0100
Received: from fanf2 by hermes-1.csi.cam.ac.uk (hermes.cam.ac.uk)
 with local id 1X4TSO-000535-8h (Exim 4.72)
 (return-path <fanf2@hermes.cam.ac.uk>); Tue, 08 Jul 2014 12:21:08 +0100
Date: Tue, 8 Jul 2014 12:21:08 +0100
From: Tony Finch <dot@dotat.at>
X-X-Sender: fanf2@hermes-1.csi.cam.ac.uk
To: Paul Kyzivat <pkyzivat@alum.mit.edu>
In-Reply-To: <53BAB55A.2090008@alum.mit.edu>
Message-ID: <alpine.LSU.2.00.1407081157240.13901@hermes-1.csi.cam.ac.uk>
References: <53BAB55A.2090008@alum.mit.edu>
User-Agent: Alpine 2.00 (LSU 1167 2008-08-23)
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/abnf-discuss/PDJm5j7nQZMsx2gULEyKkv1EiqI
Cc: "abnf-discuss@ietf.org" <abnf-discuss@ietf.org>
Subject: Re: [abnf-discuss] defining "compatible" extensions
X-BeenThere: abnf-discuss@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "General discussion about tools,
 activities and capabilities involving the ABNF meta-language"
 <abnf-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/abnf-discuss>,
 <mailto:abnf-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/abnf-discuss/>
List-Post: <mailto:abnf-discuss@ietf.org>
List-Help: <mailto:abnf-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/abnf-discuss>,
 <mailto:abnf-discuss-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: abnf-discuss-bounces@ietf.org
Sender: "abnf-discuss" <abnf-discuss-bounces@ietf.org>

Paul Kyzivat <pkyzivat@alum.mit.edu> wrote:
>
> The key thing is that an extension definition needs to satisfy *two* ABNF
> rules.

It is tempting perhaps to introduce a rule refinement operator that
parallels /=, e.g.

   attribute	 =	att-specific / att-generic
   att-generic   =	(att-field ":" att-value) / att-field

   att-specific	/=	new-att

   new-att	 =	att-generic
   new-att	&=	"new-att-name:" new-att-value

The fun thing about this is that context-free grammars are not closed
under intersection, so if you introduce a way of saying that a token
must be parsable by two syntax rules then you are significantly increasing
the power of your specification language :-) This has awkward consequences
for tools that might work with the grammar.

So I think the &= operator needs to have asymmetrical semantics: it should
mean that the grammar following &= must be a subset of the existing
grammar for the rule. That is, it is an error if a rule's refined grammar
can match an input that is not matched by its generic grammar. (Note I
have not properly checked if this restriction is sufficient to keep the
grammar context-free.)

Tony.
-- 
f.anthony.n.finch  <dot@dotat.at>  http://dotat.at/
FitzRoy: Northerly 4 or 5, increasing 6 or 7 in south. Moderate, occasionally
rough in south. Showers. Good.

_______________________________________________
abnf-discuss mailing list
abnf-discuss@ietf.org
https://www.ietf.org/mailman/listinfo/abnf-discuss

