Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Gordon Henriksen <gordonhenriksen@mac.com>
To: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] Looking for full-fledged C++ Parser with OCAML interface
Date: Fri, 7 Mar 2008 09:28:27 -0500	[thread overview]
Message-ID: <56AB9891-775F-497C-800D-8798EEDAD7BD@mac.com> (raw)
In-Reply-To: <4a051d930803070554q43bdfbc9s4887ad5577a17ba1@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1859 bytes --]

On 2008-03-07, at 08:54, Christopher L Conway wrote:

> On Fri, Mar 7, 2008 at 2:40 AM, Soonho Kong <soon@ropas.snu.ac.kr>  
> wrote:
>
>> Hello everyone. I'm a graduate student majoring in program  
>> analysis. I'm looking for a full-fledged C++ parser with OCAML  
>> interface. Is there a better candidate than Olmar? Please recommend  
>> one if anyone knows about it.
>
> Have you looked at LLVM? It does have OCaml bindings, although they  
> were only partial when last I looked.

LLVM's OCaml bindings are aimed at authoring front-ends (i.e., IR  
generation), and are reasonably complete from that perspective.

> I don't know "how fledged" their C++ parser is.

The LLVM project includes two C front-ends (separate projects).

llvm-gcc is a gcc branch maintained by the LLVM project. It is stable  
and complete, having successfully been used to compile very a large  
volume of C, C++ and Objective-C code. Unfortunately, GCC does not  
have a library-based design, so attaching to its parser would be very  
difficult.
clang is an entirely new compiler under development in the LLVM  
project. It only yet compiles C. Objective C is also parsed. clang has  
a library-based design that should make it very attractive for tools  
building. It is being designed to support such clients as refactoring  
and IDEs. It supports serializing the AST to disk, source rewriting,  
and incremental reparsing. Full C++ support has been estimated at 2  
years out.

So, looking for a C++ parser now for a research project, you probably  
won't find anything of value from the LLVM project. In the longer  
term, clang may be significantly interesting, not only because it has  
a library-based design, but also because it will be used in a first- 
class capacity (compiler, IDE) by a large vendor (Apple).

— Gordon


[-- Attachment #2: Type: text/html, Size: 5865 bytes --]

  reply	other threads:[~2008-03-07 14:28 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-07  7:40 Soonho Kong
2008-03-07  8:00 ` [Caml-list] " David Teller
2008-03-07 13:54 ` Christopher L Conway
2008-03-07 14:28   ` Gordon Henriksen [this message]
2008-03-31  9:51 ` Hendrik Tews

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56AB9891-775F-497C-800D-8798EEDAD7BD@mac.com \
    --to=gordonhenriksen@mac.com \
    --cc=caml-list@yquem.inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox