X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Delivered-To: barryleiba.mailing.lists@gmail.com
Received: by 10.59.3.41 with SMTP id bt9csp186747ved;
        Thu, 3 Jan 2013 09:59:09 -0800 (PST)
X-Received: by 10.66.86.101 with SMTP id o5mr147815067paz.15.1357235949072;
        Thu, 03 Jan 2013 09:59:09 -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 n8si48520520paw.233.2013.01.03.09.59.08;
        Thu, 03 Jan 2013 09:59:09 -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 D6C5F21F8C1E;
	Thu,  3 Jan 2013 09:59:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1;
	t=1357235947; bh=kGhDSP+leA300fLfUjZCyBrrff9toOgIGCV1cCNbYA0=;
	h=From:To:Date:Message-ID:In-Reply-To:Content-ID:MIME-Version:Cc:
	 Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:
	 List-Subscribe:Content-Type:Content-Transfer-Encoding:Sender;
	b=lbsX/w8nKft8UWzb5U5AaqovYQC2Sy7bI1JHi4YnvEUtXRvspuJCX+gI02P90fUvd
	 3U9rXkEhRe/LEHvZn7NSa/7g20RuM4QA7OI4fFOzftgkOsBoZ/VibyXHV2u4BP65WS
	 LuSRmit6Qk6YiTclfaXei0k0cUPuJ+b6a5EU7wTw=
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 D04E921F8A69
	for <abnf-discuss@ietfa.amsl.com>; Thu,  3 Jan 2013 09:59:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8
X-Spam-Level: 
X-Spam-Status: No, score=-8 tagged_above=-999 required=5
	tests=[RCVD_IN_DNSWL_HI=-8]
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 YrGxtqwXX4oi for <abnf-discuss@ietfa.amsl.com>;
	Thu,  3 Jan 2013 09:59:05 -0800 (PST)
Received: from rcdn-iport-1.cisco.com (rcdn-iport-1.cisco.com [173.37.86.72])
	by ietfa.amsl.com (Postfix) with ESMTP id EAD2E21F88DD
	for <abnf-discuss@ietf.org>; Thu,  3 Jan 2013 09:59:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
	d=cisco.com; i=@cisco.com; l=1595; q=dns/txt; s=iport;
	t=1357235945; x=1358445545;
	h=from:to:cc:subject:date:message-id:in-reply-to:
	content-id:content-transfer-encoding:mime-version;
	bh=sUkcY/FcKpwIpEn+hpbRWnauEF8JBr32teeWgypsuaw=;
	b=S+O+TnNnX/cwTs9trDM218n2DhleWEHoUSWhlUgW806f0a0j1Kp8IUGn
	JqPY9JcJv3FqykcATWz6I0P23RTu4uFEQyqiKJ9Acch2fzob7pKUSa5bg
	pUS465A9A2SyrFOJFlLba7ht6oqMMeG4Ku6Biq2s3W8uFSZtNP7g6T6d8 s=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AgEFAJHF5VCtJXHB/2dsb2JhbABFDgiBabtTFnOCHgEBAQQ6PxIBCA4KChRCJQIEAQ0FCId5Aw8MtW2LbYRMYQOSWYRPjyyCNj6CJg
X-IronPort-AV: E=Sophos;i="4.84,404,1355097600"; d="scan'208";a="158318534"
Received: from rcdn-core2-6.cisco.com ([173.37.113.193])
	by rcdn-iport-1.cisco.com with ESMTP; 03 Jan 2013 17:59:04 +0000
Received: from xhc-aln-x05.cisco.com (xhc-aln-x05.cisco.com [173.36.12.79])
	by rcdn-core2-6.cisco.com (8.14.5/8.14.5) with ESMTP id r03Hx4YM019649
	(version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL);
	Thu, 3 Jan 2013 17:59:04 GMT
Received: from xmb-rcd-x10.cisco.com ([169.254.15.128]) by
	xhc-aln-x05.cisco.com ([173.36.12.79]) with mapi id 14.02.0318.004;
	Thu, 3 Jan 2013 11:59:04 -0600
From: "Joe Hildebrand (jhildebr)" <jhildebr@cisco.com>
To: Bjoern Hoehrmann <derhoermi@gmx.net>, Paul Kyzivat <pkyzivat@alum.mit.edu>
Thread-Topic: [abnf-discuss] How to indent ABNF figures in draft?
Thread-Index: AQHN6Zpw1c2Ms0ALNE613Po5uERIWpg4L9eAgAAKA4CAAAKngP//l4uA
Date: Thu, 3 Jan 2013 17:59:03 +0000
Message-ID: <A723FC6ECC552A4D8C8249D9E07425A70F7CDBFA@xmb-rcd-x10.cisco.com>
In-Reply-To: <3pebe8d2tigatcb851jgrd57gcnd4ghjqu@hive.bjoern.hoehrmann.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/14.2.5.121010
x-originating-ip: [10.129.24.77]
Content-ID: <EB0E2464E749004D8D18A6450706B339@cisco.com>
MIME-Version: 1.0
Cc: "abnf-discuss@ietf.org" <abnf-discuss@ietf.org>
Subject: Re: [abnf-discuss] How to indent ABNF figures in draft?
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-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: abnf-discuss-bounces@ietf.org
Errors-To: abnf-discuss-bounces@ietf.org

On 1/3/13 10:12 AM, "Bjoern Hoehrmann" <derhoermi@gmx.net> wrote:

>* Paul Kyzivat wrote:
>>And even if that text is considered normative, it isn't entirely clear
>>what is and isn't valid. I *think* it says that the beginning of all
>>rules must be indented the same amount, and continuation lines must be
>>indented more. So that the file could be preprocessed by finding the
>>first non-whitespace line, removing leading whitespace from that line,
>>and then removing identical leading whitespace from all subsequent
>>lines. Then process the result according to the ABNF for ABNF.
>
>That's what I did with http://search.cpan.org/~bjoern/Parse-ABNF-0.05/
>where the documentation notes:
>
>  The ABNF specification disallows white space preceding the left hand
>  side, and so does this module. Remove it prior to passing the grammar
>  e.g. using
>
>    $grammar =~ s/^\s+(?=[\w-]+\s*=)//mg;
>
>  This module does not do that for you in order to preserve line and
>  column numbers. Patches adapting the grammar to allow leading white
>  space welcome.

I did something similar in https://github.com/hildjj/node-abnf, but went
ahead and accepted indented inputs:

    var m = input.match(/^\s+/);
    if (m) {
        var init_ws = m[0];
        input = input.replace(new RegExp("^" + init_ws, "gm"), "");
    }


Line numbers are preserved, and (if I had thought of it) I could add
len(init_ws) to each column offset I report.

Tabs are evil, so you'd get the bad column numbers you'd deserve from
using them. :)

-- 
Joe Hildebrand



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

