From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: Some more elisp aspects: Reader and documentation Date: Mon, 17 Aug 2009 14:17:07 +0200 Message-ID: <87zl9yskho.fsf@gnu.org> References: <4A7453A2.2020808@domob.eu> <87tz06u0gq.fsf@gnu.org> <4A8947EE.4080407@domob.eu> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1250511488 6387 80.91.229.12 (17 Aug 2009 12:18:08 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 17 Aug 2009 12:18:08 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Aug 17 14:17:57 2009 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Md19w-0004CX-Du for guile-devel@m.gmane.org; Mon, 17 Aug 2009 14:17:57 +0200 Original-Received: from localhost ([127.0.0.1]:60982 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Md19v-0000AV-Cp for guile-devel@m.gmane.org; Mon, 17 Aug 2009 08:17:55 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Md19V-0008U3-0c for guile-devel@gnu.org; Mon, 17 Aug 2009 08:17:29 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Md19Q-0008SA-B4 for guile-devel@gnu.org; Mon, 17 Aug 2009 08:17:28 -0400 Original-Received: from [199.232.76.173] (port=59827 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Md19Q-0008S3-5T for guile-devel@gnu.org; Mon, 17 Aug 2009 08:17:24 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:42541) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Md19P-0006F8-KS for guile-devel@gnu.org; Mon, 17 Aug 2009 08:17:23 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.50) id 1Md19N-0003w0-Gx for guile-devel@gnu.org; Mon, 17 Aug 2009 14:17:21 +0200 Original-Received: from laptop-147-210-128-170.labri.fr ([147.210.128.170]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 17 Aug 2009 14:17:21 +0200 Original-Received: from ludo by laptop-147-210-128-170.labri.fr with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 17 Aug 2009 14:17:21 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 34 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: laptop-147-210-128-170.labri.fr X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 30 Thermidor an 217 de la =?iso-8859-1?Q?R=E9volutio?= =?iso-8859-1?Q?n?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 821D 815D 902A 7EAB 5CEE D120 7FBA 3D4F EB1F 5364 X-OS: x86_64-unknown-linux-gnu User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) Cancel-Lock: sha1:poyJn7rw1N1GmgBBvbARVad703o= X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:9135 Archived-At: Daniel Kraft writes: >>> 2) Write a seperate elisp reader, possibly in Scheme (but could be C >>> as well if that's important for performance). This helps us keep >>> "both" readers clean and seperate, but all has to be done from ground >>> up and the code is probably slower (when written in Scheme). >> >> This sounds like the best option to me. You could use SILex to build >> the lexer (http://www.iro.umontreal.ca/~dube/) and `(text parse-lalr)' >> for the parser. > > Hm, ok, I'll look into those. On the other hand I guess that Lisp has > such a simple syntax that hand-writing some recursive-descent parser > may be an equally good option? Well, I'll simply give it a try! Well, yes, you may be right. > But it seems that the LALR parser generator is part of guile-lib, and > will introduce that as a new dependency for Guile; Actually it's already in `master', because it's used for ECMAScript. I'd need to be made part of the official API, though. > do you think that's ok? (Haven't checked how SILex works and if it > may introduce dependencies.) SILex generates a source file containing the lexer, so there's no additional run-time dependency. Guile's tarball could come with the generated file, such that end-users don't need to have SILex installed. For convenience, it may be helpful to have SILex in the repository, though (that's what Guile-RPC does). Thanks, Ludo'.