Re: [tap] ANNOUNCE: TAP::Spec::Parser - a TAP parser based on the draft grammar

Andrew Rodland <andrew@cleverdomain.org> Tue, 29 June 2010 02:14 UTC

Return-Path: <andrew@cleverdomain.org>
X-Original-To: tap@core3.amsl.com
Delivered-To: tap@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 215833A6801 for <tap@core3.amsl.com>; Mon, 28 Jun 2010 19:14:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.892
X-Spam-Level:
X-Spam-Status: No, score=-1.892 tagged_above=-999 required=5 tests=[AWL=0.707, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YYkIH11OowGB for <tap@core3.amsl.com>; Mon, 28 Jun 2010 19:14:28 -0700 (PDT)
Received: from sasl.smtp.pobox.com (b-pb-sasl-quonix.pobox.com [208.72.237.35]) by core3.amsl.com (Postfix) with ESMTP id CEE1A3A68B7 for <tap@ietf.org>; Mon, 28 Jun 2010 19:14:23 -0700 (PDT)
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by b-sasl-quonix.pobox.com (Postfix) with ESMTP id E1185B22D3; Mon, 28 Jun 2010 22:14:33 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to :subject:date:references:in-reply-to:cc:mime-version :content-type:content-transfer-encoding:message-id; s=sasl; bh=C B0Bi4nyG2Rlo+E0/P1oTq1/HDM=; b=BFiqv+eIaMf9U1en46nlnHH3fh/XNZbSj Lo98a3+6qWUnK7+Om0FlITtBcWFVW9LFOLOoH6nqRzP0m6T2HO9q27W7wfUSnVUV 2KXyouSsRmRZq9bkUgdbj0tm4pIPKe1HCSJUS9lIaP8w0P5TLCtf2AblvpubB+bS id7xMwJ3bc=
Received: from b-pb-sasl-quonix. (unknown [127.0.0.1]) by b-sasl-quonix.pobox.com (Postfix) with ESMTP id CDB57B22D2; Mon, 28 Jun 2010 22:14:32 -0400 (EDT)
Received: from goron.localnet (unknown [98.228.25.69]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by b-sasl-quonix.pobox.com (Postfix) with ESMTPSA id 8CC77B22D1; Mon, 28 Jun 2010 22:14:31 -0400 (EDT)
From: Andrew Rodland <andrew@cleverdomain.org>
To: tap@ietf.org
Date: Mon, 28 Jun 2010 21:14:23 -0500
User-Agent: KMail/1.13.2 (Linux/2.6.32-22-generic; KDE/4.4.2; x86_64; ; )
References: <710976.83200.qm@web65716.mail.ac4.yahoo.com>
In-Reply-To: <710976.83200.qm@web65716.mail.ac4.yahoo.com>
MIME-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <201006282114.23903.andrew@cleverdomain.org>
X-Pobox-Relay-ID: 0E680830-8324-11DF-B71A-DA91016DD5F0-16769786!b-pb-sasl-quonix.pobox.com
Subject: Re: [tap] ANNOUNCE: TAP::Spec::Parser - a TAP parser based on the draft grammar
X-BeenThere: tap@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Test Anything Protocol WG discussions <tap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tap>, <mailto:tap-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tap>
List-Post: <mailto:tap@ietf.org>
List-Help: <mailto:tap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tap>, <mailto:tap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 29 Jun 2010 02:14:31 -0000

On Monday, June 28, 2010 06:49:35 am you wrote:
> I haven't looked at this too closely, but one thing you might want to
> consider it that TAP is stream-oriented, not document-oriented.  When I
> wrote the parser for new the Test::Harness, I was going to use a full
> lexer/grammar solution, only to realize that the nature of a stream means
> I wouldn't have the full document up front.  This is a deliberate design
> feature of TAP to allow results to be output as they occur, rather than
> waiting for the end of the test run (such as requiring a full XML document
> requires).
> 
> Does Regexp::Grammars allow you to handle that case? I didn't think so, but
> I could be mistaken.
> 
Appreciated, and no, Regexp::Grammars doesn't do streaming, but I don't think 
that's the most important concern here. The idea of the parser is to act as a 
tool to validate the correctness of the grammar in the draft spec (and perhaps 
later, if it does the job, to validate the correctness of others parsers 
*against* the spec). I'm not overly concerned for its usefulness as a parser 
in production. And the Regexp::Grammars syntax parallels the ABNF in the spec 
really well.

Andrew