From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Zelphir Kaltstahl Newsgroups: gmane.lisp.guile.user Subject: Re: Re parse-result Date: Thu, 17 Jan 2019 08:43:01 +0100 Message-ID: <257748e7-bc56-573d-c691-c1655947be2a@gmail.com> References: <5E629D82-0023-489F-9A0A-63ACF1A520B1@pretty.Easy.privacy> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1547711659 30872 195.159.176.226 (17 Jan 2019 07:54:19 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 17 Jan 2019 07:54:19 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 Cc: Guile User To: swedebugia , "catonano@gmail.com >> Catonano" Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Thu Jan 17 08:54:15 2019 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gk2VC-0007vn-QV for guile-user@m.gmane.org; Thu, 17 Jan 2019 08:54:14 +0100 Original-Received: from localhost ([127.0.0.1]:38161 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gk2XJ-0003jh-Uw for guile-user@m.gmane.org; Thu, 17 Jan 2019 02:56:25 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:44699) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gk2KQ-0002Bv-PJ for guile-user@gnu.org; Thu, 17 Jan 2019 02:43:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gk2KP-0001ZH-IA for guile-user@gnu.org; Thu, 17 Jan 2019 02:43:06 -0500 Original-Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]:39168) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gk2KP-0001Xh-6B for guile-user@gnu.org; Thu, 17 Jan 2019 02:43:05 -0500 Original-Received: by mail-ed1-x536.google.com with SMTP id b14so7547387edt.6 for ; Wed, 16 Jan 2019 23:43:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=KowTQNR7+KDUOy8/AAZabcs0OF4tWM0nk020VVOQ45Q=; b=Ym6wvRyFHvvyWk7dbuad8/2MQofIuRp0AuH9ez2f2bv6y6IjlMgxgN6KUU2N7zsa0W PAuDaxZUNWoI6ehrwuHjtWBQss1rPnKll7+Y6Krv6JR7CJ2QwV+feo/UCc/f+LJxLYoC SITdaCEnoOsq0RfZYIdllrk/ZIm9yvUdsnDon30sW/6Ws/hizPcWT4ICu5nmJFzqIKmJ QlcS8UA6B4+bmsXz4rgVQZZrzg3jCHEntXy4UY9lh/INXneUFNawPLK84EJdO+pZ/iQd em+UODdmYrgbkbBZ/H+DwDAMv0MDfb/lCufwNlHg8Ir6s38DEN2KlUwXgGKKJpevyWmI 8Xjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=KowTQNR7+KDUOy8/AAZabcs0OF4tWM0nk020VVOQ45Q=; b=c3rdgrtLt+DCslIG9qeKXkU/A3o+K6ik/LlBKu3xJP3+ColbIeR5O5MbLmbwYxJRJZ mD+aHw+vjZShmwZCWZ7xz9W2eeaCNSCEdpNLHwIiQr2WprBgQMnSM53fbMqMMBNIjcOt aCiy4e587V6eEHr25EJNT1wIVDU50EefgcGplLUllKPXOcUh4NCJif+tAFj1YnywZr50 xNenp2Tm/mhtwZfj9jmGVFm4eHtX9piIQCoNIS5YTiRExzTaVnQTG7NqjL2STpnDWxt0 E8+tUWtEyjvoNBy2rZ7nZOcWUo9h2s4exEmveMmNI4NeXkktcrcHaMDFLbVU5KEcPEyM yUxQ== X-Gm-Message-State: AJcUukd89elRA+ryYZvAXdfPWOxsKtBWTw1nWTVvx27Pv4nQuG1Kecdw al/MPEj+3KCQGGs4DeX+Ez9A1CZKauN6ag== X-Google-Smtp-Source: ALg8bN5iltYJd15LsSfAuwvtDF14E83/6eSSYCUgmZtXgQLtk8WCVQkE0Yixnx3++hAAeFsUyMQqOA== X-Received: by 2002:a50:b14c:: with SMTP id l12mr10663019edd.139.1547710983607; Wed, 16 Jan 2019 23:43:03 -0800 (PST) Original-Received: from [10.9.0.9] ([185.65.134.162]) by smtp.googlemail.com with ESMTPSA id m14sm7026617edc.27.2019.01.16.23.43.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Jan 2019 23:43:02 -0800 (PST) In-Reply-To: <5E629D82-0023-489F-9A0A-63ACF1A520B1@pretty.Easy.privacy> Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::536 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:15228 Archived-At: On 1/17/19 8:16 AM, swedebugia wrote: > Zelphir Kaltstahl skrev: (16 januari 2019 > 21:31:13 CET) > > Perhaps I should put a link into the source code whenever I follow a > tutorial. Sorry for the confusion! > > I am also only following Amirouche Boubekki's tutorial ; ) Good that you > already found it. > > There is a paper about parser combinators (which I did not completely > implement, because I had a bug somewhere, where I did not find it at > some point), about parser combinators: > http://www.cs.nott.ac.uk/~pszgmh/monparsing.pdf > > It takes some time to get used to the Gopher code syntax, but from the > part of the paper, that I read, it is quite clever stuff, all this > parser combinator stuff. > > I am still unsure about the theoretical CS stuff: What kind of parsers > one can possibly write with parser combinators? Which language class is > that? I have language X can I parse it completely using parser > combinators? etc. Theoretical CS and the proofs were not my strongest area. > > On 1/16/19 6:00 PM, guile-user-request@gnu.org wrote: > > Ok I found this > https://hyperdev.fr/blog/getting-started-with-guile-parser-combinators.html > > > > > Hi. > Have you looked at the PEG parser recently added to guile? It does > everything the combinators do with an added compressor. > Its quite powerful and seems to work well. > -- > Sent from my p≡p for Android. Hi Swedebugia, I did not notice a PEG parser has been added. How did you notice this? Maybe there is another blog for new additions to Guile? Do you know a good text, which explains differences between the different approaches to parsing? For example, what is the difference between PEG parsing and parser combinators? There seems to be a whole jungle of approaches to parsing out there, including parser generators, which I believe take a grammar of certain kind and produce a parser from that. I am never sure what languages I can parse using what approach. Thanks anyways! Regards, Zelphir