From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 90727BC69 for ; Tue, 26 Jun 2007 08:38:53 +0200 (CEST) Received: from ipmail03.adl2.internode.on.net (ipmail03.adl2.internode.on.net [203.16.214.135]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l5Q6cpVY007085 for ; Tue, 26 Jun 2007 08:38:52 +0200 X-IronPort-AV: E=Sophos;i="4.16,462,1175437800"; d="scan'208";a="107789832" Received: from ppp59-167-2-129.lns1.syd7.internode.on.net (HELO [192.168.1.201]) ([59.167.2.129]) by ipmail03.adl2.internode.on.net with ESMTP; 26 Jun 2007 16:08:48 +0930 Subject: Re: [Caml-list] Dypgen C++ grammar From: skaller To: Taras Glek Cc: dypgen@ml.free.fr, caml In-Reply-To: <46803305.1000309@shaw.ca> References: <1182522980.6334.4.camel@rosella.wigram> <46803305.1000309@shaw.ca> Content-Type: text/plain Date: Tue, 26 Jun 2007 16:38:44 +1000 Message-Id: <1182839924.13033.93.camel@rosella.wigram> Mime-Version: 1.0 X-Mailer: Evolution 2.10.1 Content-Transfer-Encoding: 7bit X-Miltered: at concorde with ID 4680B47B.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; parser:01 ocaml:01 tews:01 ocaml:01 compiler:01 parsers:01 ocamlyacc:01 parser:01 compiler:01 elsa:98 elsa:98 interchange:98 sourceforge:01 parsing:01 parsing:01 On Mon, 2007-06-25 at 14:26 -0700, Taras Glek wrote: > Hi Scott, > Why write yet another incomplete C++ parser? You can already get a very > nice OCaml representation of a C++ program through olmar( > http://www.cs.ru.nl/~tews/olmar/ ). Because last I looked, olmar doesn't work, and that's because Elkhound and Elsa, on which they're based, don't work. By that I mean, there are bugs. > If that doesn't suit your needs, why not point out the problems and > maybe work together to solve them? Elkhound and Elsa are both C++ programs, which creates portability issues, and the team maintaining them refused to cooperate with my requirements. My system Felix consists of an Ocaml based compiler, which generates C++ sources. I actually have a *fork* of Elkhound built in to the compile and run time system for generating parsers, but this doesn't apply to parsing Felix sources: I'm currently switching from Ocamlyacc to Dypgen as a parser. Frankly .. I want an embeddable Ocaml code: binding to a C++ built executable is tricky (you'd need to use some crud like XML as an interchange format), and it isn't extensible. Using Frontc/Cil, which is *also* part of Felix, is much better -- I have already embedded part of the C parsing capabilities directly into the Felix compiler. The bottom line is that I want code written in Ocaml because I'm sooooo sick of portability hassles.. :) -- John Skaller Felix, successor to C++: http://felix.sf.net