From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Noah Lavine Newsgroups: gmane.lisp.guile.devel Subject: Re: GNU Guile PEG-parser Date: Tue, 7 Feb 2012 19:47:12 -0500 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: dough.gmane.org 1328662044 17638 80.91.229.3 (8 Feb 2012 00:47:24 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 8 Feb 2012 00:47:24 +0000 (UTC) Cc: guile-devel To: Krister Svanlund Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Feb 08 01:47:24 2012 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Ruvgw-0004fM-Vl for guile-devel@m.gmane.org; Wed, 08 Feb 2012 01:47:23 +0100 Original-Received: from localhost ([::1]:40559 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ruvgw-0003ix-G2 for guile-devel@m.gmane.org; Tue, 07 Feb 2012 19:47:22 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:60065) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ruvgq-0003gT-IB for guile-devel@gnu.org; Tue, 07 Feb 2012 19:47:20 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ruvgn-0007IC-SH for guile-devel@gnu.org; Tue, 07 Feb 2012 19:47:16 -0500 Original-Received: from mail-iy0-f169.google.com ([209.85.210.169]:58643) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ruvgn-0007Hw-Gc for guile-devel@gnu.org; Tue, 07 Feb 2012 19:47:13 -0500 Original-Received: by iagz16 with SMTP id z16so50466iag.0 for ; Tue, 07 Feb 2012 16:47:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=kxcZVExFXds55GEaRG9hoQApkoPkyJvp2j6tTwPbvX8=; b=ZYL9tR1SCiIhSL5sIRQqZb0EudEAuP1pupeKIGE6W4OjkKKXxx9eOEY0wywLxr5I4Y RBWiVwiY+h3QnrZjYAlwxLnU383HxMkGwpmweWZd/BH49316mbJaE+u3QnbrVW3hxrIP 3bDnz9lQL8wAXQrUAb+Gnat/1t5MTTaGF+JS0= Original-Received: by 10.50.57.234 with SMTP id l10mr30224562igq.12.1328662032881; Tue, 07 Feb 2012 16:47:12 -0800 (PST) Original-Received: by 10.42.142.7 with HTTP; Tue, 7 Feb 2012 16:47:12 -0800 (PST) In-Reply-To: X-Google-Sender-Auth: 6s3Sb1UvmCjxei6fwHtur4K7Yq8 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.210.169 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:13818 Archived-At: Hello, Thanks for emailing! I suppose I am the one to talk to, since I was the last one to work on it. I didn't make the PEG parsing syntax, but I would guess the reason there isn't a string syntax for ignore is that there's no conventional way to write it, but there is for the other PEG elements. It would be easy to add one if it was useful, but we'd want to make sure our syntax agreed with other PEG libraries, so people wouldn't be confused later. For blank-space indented blocks, do you mean you want to group together lines with the same indentation, like Python syntax? If you know what the indentation will be at the beginning of each line, you can do something like this: (* (and "\t" "\n")), where you replace "\t" with whatever indentation you want. However, what you probably want to do is look at the indentation in the first line and then group it with every following line that has the same indentation. I'm not sure if it's possible, but it would probably be ugly. If you tell me what you're trying to do, though, I can help you write your own parser to handle it. You can even write some of your parser yourself and use PEGs for the rest, if you're willing to use PEG internals. Can you tell me more about what you're trying to do? I am happy to help now, but I will be more helpful if I know more. I'm going to CC the guile-devel mailing list because of the issue with the string syntax. Noah On Tue, Feb 7, 2012 at 10:03 AM, Krister Svanlund wrote: > Hi, > I'm currently involved in a project that plans on using the PEG module for > Guile for parsing and I've understod that you are the one to talk to about > it. I'm mostly just curious how come there isn't an equivalent to ignore in > string-patterns and if this would be complex to add? > > I'm also curious if there is any way to deal with blank-space indented > blocks in PEG. > > Yours > Krister Svanlund