From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id EB426BC48 for ; Sat, 2 Apr 2005 09:02:28 +0200 (CEST) Received: from smtp.syd.swiftdsl.com.au (smtp.syd.swiftdsl.com.au [218.214.224.138]) by nez-perce.inria.fr (8.13.0/8.13.0) with SMTP id j3272P1R021780 for ; Sat, 2 Apr 2005 09:02:27 +0200 Received: (qmail 1350 invoked from network); 2 Apr 2005 07:02:35 -0000 Received: from unknown (HELO coltrane.mega-nerd.net) (218.214.64.136) by smtp.syd.swiftdsl.com.au with SMTP; 2 Apr 2005 07:02:35 -0000 Received: from coltrane (localhost [127.0.0.1]) by coltrane.mega-nerd.net (Postfix) with SMTP id 481787ADA for ; Sat, 2 Apr 2005 17:02:23 +1000 (EST) Date: Sat, 2 Apr 2005 17:02:23 +1000 From: Erik de Castro Lopo To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] some comments on ocaml{lex,yacc} from a novice's POV Message-Id: <20050402170223.4dc2de7d.ocaml-erikd@mega-nerd.com> In-Reply-To: <50130.202.164.198.46.1112418604.squirrel@www.ivorykite.com> References: <49464.202.164.198.46.1112355123.squirrel@www.ivorykite.com> <424DA923.7020106@tfb.com> <50130.202.164.198.46.1112418604.squirrel@www.ivorykite.com> Organization: Erik Conspiracy Secret Labs X-Mailer: Sylpheed version 1.0.0 (GTK+ 1.2.10; i386-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Miltered: at nez-perce with ID 424E4381.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 ocaml:01 ocaml:01 parsing:01 nospam:98 suck:98 vacuum:98 wrote:01 imperative:01 lex:01 lex:01 functional:02 python:02 gnu:03 let:03 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.2 X-Spam-Level: On Sat, 2 Apr 2005 15:10:04 +1000 (EST) "Jack Andrews" wrote: > but i want to use ocaml, not python because i know i need (more) speed. > after using ply, the ocaml{yacc,lex} implementation looks like it's just > glued on GNU tools. Lex and yacc are amazilingly powerful tools that are let down by the fact the code they produce is C code. Ocaml(lex|yacc) extend on the very powerful lex/yacc concepts but produce Ocaml code whick hoos in very nicely with a powerful functional/imperative OO language. The thing that amazes me about the original lex and yacc is that all the tutorials I've seen for using them only deal with trivially simple parsing problems when they are capable of som much more. Erik -- +-----------------------------------------------------------+ Erik de Castro Lopo nospam@mega-nerd.com (Yes it's valid) +-----------------------------------------------------------+ "The day Microsoft makes something that doesn't suck is probably the day they start making vacuum cleaners." -- Ernst Jan Plugge