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 KAA29399; Tue, 5 Feb 2002 10:09:52 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f 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 KAA29261 for ; Tue, 5 Feb 2002 10:09:51 +0100 (MET) Received: from www.apexworld.net (66-114-213-141.focaldata.net [66.114.213.141] (may be forged)) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id g1599e907922; Tue, 5 Feb 2002 10:09:41 +0100 (MET) Received: from checkerlap.d6.com (adsl-host-sf-228.apexworld.net [66.114.212.228]) by www.apexworld.net (8.10.2/8.10.2) with SMTP id g1595xF04416; Tue, 5 Feb 2002 01:05:59 -0800 Message-Id: <4.3.2.7.2.20020205005831.03799740@arda.pair.com> X-Sender: checker@arda.pair.com X-Mailer: QUALCOMM Windows Eudora Version 4.3.2 Date: Tue, 05 Feb 2002 01:09:11 -0800 To: Daniel de Rauglaudre , caml-list@inria.fr From: Chris Hecker Subject: [Caml-list] LL, LR, and camlp4 (was Re: syntax change) In-Reply-To: <20020205094244.A23442@verdot.inria.fr> References: <4.3.2.7.2.20020204185723.036f4dc0@arda.pair.com> <20020204164154.D2338@verdot.inria.fr> <9BE7FA48-1771-11D6-A336-003065BDAA76@ece.ucsb.edu> <15454.38553.300800.53941@gargle.gargle.HOWL> <20020204155242.B2338@verdot.inria.fr> <20020204150839.GE14738@chopin.ai.univie.ac.at> <20020204164154.D2338@verdot.inria.fr> <20020204162513.GA22263@chopin.ai.univie.ac.at> <4.3.2.7.2.20020204150243.037b5af0@arda.pair.com> <20020205034719.A23069@verdot.inria.fr> <4.3.2.7.2.20020204185723.036f4dc0@arda.pair.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > Could you reformulate your question? I don't understand. What is an >*RD* parser? Sorry, I'm the farthest thing from a compiler expert, so bear with me. You said that you liked LL because it was easier and simpler to parse. You mentioned that you used a recursive descent (RD) parser in camlp4 for the revised syntax (since it's LL) and for the ocaml syntax (but were only able to parse it with recursive descent with hacks because it's LR, I think). I assume that meant you used a hand-written parser, not a parser generated by a tool. My question is just why did you hand-write the parser, rather than using a tool like yacc? Was it because of the extensibility and hooks you needed in camlp4 and there's no way to make an extensible generated parser? Are parser generators not all they're cracked up to be? If so, why does caml use yacc? Make sense now? I don't really know how camlp4 works internally, nor do I really know much about LL, LR, yacc, recursive descent, etc. Just enough to be dangerous (where dangerous is defined as asking unintelligible questions :). Thanks, Chris ------------------- 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