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 --]
next prev parent 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