X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Delivered-To: barryleiba.mailing.lists@gmail.com
Received: by 10.112.12.166 with SMTP id z6csp535306lbb;
        Thu, 27 Dec 2012 21:27:55 -0800 (PST)
X-Received: by 10.68.241.133 with SMTP id wi5mr101201502pbc.48.1356672474189;
        Thu, 27 Dec 2012 21:27:54 -0800 (PST)
Return-Path: <abnf-discuss-bounces@ietf.org>
Received: from mail.ietf.org (mail.ietf.org. [2001:1890:126c::1:1e])
        by mx.google.com with ESMTP id px7si31010072pbb.290.2012.12.27.21.27.52;
        Thu, 27 Dec 2012 21:27:54 -0800 (PST)
Received-SPF: pass (google.com: domain of abnf-discuss-bounces@ietf.org designates 2001:1890:126c::1:1e as permitted sender) client-ip=2001:1890:126c::1:1e;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of abnf-discuss-bounces@ietf.org designates 2001:1890:126c::1:1e as permitted sender) smtp.mail=abnf-discuss-bounces@ietf.org; dkim=pass (test mode) header.i=@ietf.org
Received: from ietfa.amsl.com (localhost [127.0.0.1])
	by ietfa.amsl.com (Postfix) with ESMTP id 1B00A21F8DE3;
	Thu, 27 Dec 2012 21:27:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1;
	t=1356672472; bh=jWXYTOevP6aI5Rz6LvCS55WOPtCKZ5xq4pR7VoNA1D0=;
	h=Message-ID:Date:From:MIME-Version:To:References:In-Reply-To:Cc:
	 Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:
	 List-Subscribe:Content-Transfer-Encoding:Content-Type:Sender;
	b=VqFe7no4AY79QWiXItoYq5YMHO5Ec133lu4pMmd7BiVG5e48Gh3edhrbAfYCu/JSA
	 7ln27OX4W5NFOP7I6G1TKJv+Ya87pbud1UKF4QDQZ1IreGRoS7WQlMrSThaUOhtD8m
	 klvEda1eZkOvx/NAp7Bdyi/UkHeJx0Ri6dIwqCig=
X-Original-To: abnf-discuss@ietfa.amsl.com
Delivered-To: abnf-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
	by ietfa.amsl.com (Postfix) with ESMTP id 034BB21F8DE2
	for <abnf-discuss@ietfa.amsl.com>; Thu, 27 Dec 2012 21:27:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.414
X-Spam-Level: 
X-Spam-Status: No, score=-0.414 tagged_above=-999 required=5 tests=[AWL=0.023, 
	BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, 
	RDNS_NONE=0.1]
Received: from mail.ietf.org ([64.170.98.30])
	by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id zMcA4VGHVMcy for <abnf-discuss@ietfa.amsl.com>;
	Thu, 27 Dec 2012 21:27:49 -0800 (PST)
Received: from qmta03.westchester.pa.mail.comcast.net
	(qmta03.westchester.pa.mail.comcast.net
	[IPv6:2001:558:fe14:43:76:96:62:32])
	by ietfa.amsl.com (Postfix) with ESMTP id 79A7621F88D6
	for <abnf-discuss@ietf.org>; Thu, 27 Dec 2012 21:27:46 -0800 (PST)
Received: from omta03.westchester.pa.mail.comcast.net ([76.96.62.27])
	by qmta03.westchester.pa.mail.comcast.net with comcast
	id gtL31k0040bG4ec53tTlqJ; Fri, 28 Dec 2012 05:27:45 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([50.138.229.164])
	by omta03.westchester.pa.mail.comcast.net with comcast
	id gtTk1k00a3ZTu2S3PtTkWH; Fri, 28 Dec 2012 05:27:45 +0000
Message-ID: <50DD2DD0.8080301@alum.mit.edu>
Date: Fri, 28 Dec 2012 00:27:44 -0500
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7;
	rv:17.0) Gecko/17.0 Thunderbird/17.0
MIME-Version: 1.0
To: Daniel van Vugt <vanvugt@gmail.com>
References: <50DCD850.3020106@alum.mit.edu> <50DD1326.5040100@gmail.com>
In-Reply-To: <50DD1326.5040100@gmail.com>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net;
	s=q20121106; t=1356672465;
	bh=2HGgm5PopaVn3yDcUM6mVEwsJiB9YpmQdlmVyEbe99A=;
	h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject:
	Content-Type;
	b=sy62uFeK6r2PvsVuxElgO6Gw+zfUqUsDi/gJpb9lzRkv5S326NPFCuitS0jJ/I70r
	pUN6W46zYT3ZW79209IYPf4UkX12f5ZZbsY4Ypi2bPyCxDX3y5zQbOKyyACIipMetD
	j9n167rux2vvYs76daJyB5EeqxD/cDKVHO0QtIT1WluxxnWVbLfshxXVPdk2yz3WJq
	yTkPtLmtFD7xfWZGLr0tQZ9b6q+w8y+jMRpAgKaigThfsKLqOowoVSv7mKC8i4Sc5C
	dRDwrXMicrcRUApyUJMA8CsQBfiNG9YxNqtgnLlu3RmY584N/ByYVvazQu2D0vXskt
	nP3Pv5IMaRf8g==
Cc: abnf-discuss@ietf.org
Subject: Re: [abnf-discuss] Some thoughts about how to make ABNF more
 convenient to use
X-BeenThere: abnf-discuss@ietf.org
X-Mailman-Version: 2.1.12
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-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="windows-1252"; Format="flowed"
Sender: abnf-discuss-bounces@ietf.org
Errors-To: abnf-discuss-bounces@ietf.org

On 12/27/12 10:33 PM, Daniel van Vugt wrote:
> I like the idea of automating retrieval of a complete grammar from
> multiple documents. However if the end goal is to give the grammar to a
> checker/compiler then maybe that issue needs to be considered
> holistically first...
>
> Even if your grammar compiles and is not ambiguous in any way, you
> cannot really be confident of its correctness for the intended task
> without some test input. Where does that come from? If there is no test
> input (presumably from the same documents) then what is the value in
> automation?

What is the value?
- When I, as document shepherd, am writing my shepherd doc on a draft,
   I'm supposed to verify that the ABNF is syntactically correct.
   Right now that can be a pain. This would make that dead simple.

- Similarly, if I am *implementing* a draft, I may want to feed the
   ABNF into a compiler. All the same issues apply.

- If the ABNF can be scattered through a draft, interspersed with
   descriptive and normative text, and still be easily gathered together
   for processing, then it may lead to more nicely structured drafts.

Testing is an entirely different issue.

> It sounds like you could only automate a syntax check in most cases. Is
> that a sufficiently strong end goal? I'm concerned for more subtle
> errors such as ambiguities I found in the ABNF RFC and XML spec when
> building Dapar[1]. Those require test cases to accompany the grammar.

By test cases, do you simply mean text that should match some particular =

rule?

If we want that, then we need, in addition to what I am suggesting:
- a standard tool that takes ABNF, the name of a rule, and some text,
   and verifies if the text matches the rule.

- Some agreed upon format for publishing ABNF test cases.

Those could be interesting. But I would consider that a separate effort.

	Thanks,
	Paul

> [1] http://sourceforge.net/projects/dapar/
>
> - Daniel
>
>
> On 28/12/12 07:22, Paul Kyzivat wrote:
>> [Is this list live? As best I can tell there has only been one message,
>> ever.]
>>
>> I've been observing problems with the mechanics of using ABNF for ietf
>> drafts, and contemplating some changes that could make things better.
>> But I'd like to get some support and feedback before doing much about it.
>>
>> I would like to better support current practice where one draft or RFC
>> extends the ABNF from another draft or RFC, or references ABNF rules
>> defined elsewhere when defining something new.
>>
>> In my experience this is done using comments that identify the source of
>> the referenced definitions. Formally processing this requires manual
>> actions to cut and paste definitions from multiple documents in order to
>> create a single ABNF source that can be processed for formal tools.
>>
>> With the enhancements I have in mind, it will be possible to build ABNF
>> tools that automatically extract the required definitions.
>>
>> Also, often RFCs prefer to interleave ABNF rule definitions with
>> descriptive text. But that makes it difficult to process. Sometimes
>> rules are interleaved, and then also gathered together into a full ABNF,
>> but this runs a risk of divergence. I'd also like to help with that.
>>
>> The enhancements I have in mind are:
>>
>> Extend ABNF syntax with:
>> =95 A way to assign a name to a rule list within a document.
>>    This allows multiple independent groups of rules to be defined
>>    within a single document and referenced independently.
>>
>> =95 A way to reference a rule defined in a named collection of rules.
>>
>> =95 A way to import rule definitions from another document.
>>    Optionally reference a specific named rule list within that document.
>>
>> Extend xml2rfc with:
>> =95 A way to tag sections of the document that contain ABNF, so that
>>    its easy to extract just the ABNF from the XML document.
>>
>> With these changes, an ABNF checker/compiler could be given the name of
>> a draft or rfc, and could directly process the ABNF within. And that
>> draft could reference and extend ABNF in another draft or rfc, and the
>> checker/compiler could automatically retrieve that as well.
>>
>> Do others think this would be useful?
>>
>>      Thanks,
>>      Paul
>> _______________________________________________
>> abnf-discuss mailing list
>> abnf-discuss@ietf.org
>> https://www.ietf.org/mailman/listinfo/abnf-discuss
>>
>

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

