From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id OAA05190; Tue, 5 Feb 2002 14:26:19 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id OAA04987 for caml-list@pauillac.inria.fr; Tue, 5 Feb 2002 14:26:19 +0100 (MET) Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id NAA02450 for ; Tue, 5 Feb 2002 13:21:46 +0100 (MET) Received: from shiva.jussieu.fr (shiva.jussieu.fr [134.157.0.129]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id g15CLk913172; Tue, 5 Feb 2002 13:21:46 +0100 (MET) Received: from ibm3.cicrp.jussieu.fr (ibm3.cicrp.jussieu.fr [134.157.15.3]) by shiva.jussieu.fr (8.12.1/jtpda-5.4) with ESMTP id g15CLgYD088815 ; Tue, 5 Feb 2002 13:21:43 +0100 (CET) Received: from ibm1.cicrp.jussieu.fr (ibm1.cicrp.jussieu.fr [134.157.15.1]) by ibm3.cicrp.jussieu.fr (8.8.8/jtpda/mob-V8) with ESMTP id NAA14704 ; Tue, 5 Feb 2002 13:22:52 +0100 Received: from localhost (fernande@localhost) by ibm1.cicrp.jussieu.fr (8.8.8/jtpda/mob-v8) with SMTP id NAA117286 ; Tue, 5 Feb 2002 13:17:00 +0100 Date: Tue, 5 Feb 2002 13:17:00 +0100 (NFT) From: Diego olivier FERNANDEZ PONS To: Xavier Leroy cc: caml-list@inria.fr Subject: Re: [Caml-list] LL, LR, and camlp4 (was Re: syntax change) In-Reply-To: <20020205103357.B17751@pauillac.inria.fr> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Les grammaires dans les livres (que ce soit Le Dragon, Appel ou Autebert) ont la beaut=E9 fonctionnelle des syst=E8mes de r=E9ecriture : E -> E + T E -> E - T E -> T T -> T * F T -> T / F T -> F F -> id F -> num F -> (E) Quand on en vient =E0 =E9crire un parseur, les choses se compliquent : on a= le choix entre utiliser Yacc qui certes accepte les grammaires LALR, nonobstant s'int=E8gre assez mal aux applications, outre sa syntaxe peu commode ou sinon =E9crire son propre parseur =E0 la main, bien int=E9gr=E9 = mais limitant les grammaires =E0 la classe LL. Faut-il sacrifier l'expressivit=E9 des grammaires LR =E0 la facilit=E9 des grammaires LL ? La question est erron=E9e... Le CamlP4 montre que l'on a besoin d'un outil commode pour manipuler des grammaires et que Yacc ne r=E9pond plus aux n=E9cessit=E9s en termes d'int=E9gration et d'extensibilit=E9. Par ailleurs= , la grammaire de Caml est LR et le CamlP4 ne permet de la parser qu'avec beaucoup d'efforts (selon les remarques de Rauglaudre). En somme, serait n=E9cessaire un outil qui =E0 l'image de l'analyseur lexic= al g=E9n=E9rique dont dispose d=E9j=E0 Caml, serait un analyseur syntaxique g= =E9n=E9rique et s'occuperait de d=E9terminer la classe de la grammaire (LL, LR, LALR, SLR, alg=E9brique quelconque) et de g=E9n=E9rer les outils n=E9cessaires en fonction (analyseur descendant, automate =E0 pile, tables ...) =09Diego Olivier Comme les paroles sont toujours plus belles accompagn=E9es d'actions tangibles, j'y travaille. Comme je suis un m=E9diocre programmeur, je ne garantis aucun r=E9sultat. ------------------- Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr