|
Boost : |
From: Doug Gregor (dgregor_at_[hidden])
Date: 2007-08-31 10:58:50
Hello fellow Boosters,
The need for an extensible, complete open-source C++ parser has been
discussed on Boost over the years. There are myriad projects that
parse approximations to C++ suitable for specific tasks (e.g.,
documentation generation), but there has never been a community
project meant to handle all of C++ or serve as a common platform for
new C++ tools. That is going to change, and I hope Boost will be
involved.
Apple has begun development of "Clang", which aims to be a high-
quality C/C++ parser and compiler. Clang is designed as a library for
C++ tools, from IDE-supported tools like indexing, searching, and
refactoring to documentation tools, static checkers, and a full C++
front end to the Low Level Virtual Machine (LLVM). LLVM is an
advanced, open-source compiler infrastructure supporting all of the
back-end functionality needed for a C++ compiler. Like LLVM, Clang is
written in a modern C++ style, with a clean separation between the
different phases of translation in C++ (lexical analysis, parsing,
semantic analysis, lowering, code generation, etc.), all of which
make Clang a pleasure to work with.
Clang is still in the early stages of development. At present, it
parses and type-checks most of C, with code generation for some
simple constructs. C++ support is not available yet, but Apple has
dedicated significant resources to making Clang a successful C++
parser and compiler.
That said, Clang needs our help. Collectively, Boost developers have
more knowledge about and a deeper understanding of C++ than any other
community within C++. We have the C++ expertise to help implement the
language well, and the library-design savvy to help build powerful,
accessible interfaces that simplify the task of building new and
improved tools for C++. The Clang team is asking for help
implementing C and C++ features and are very open to new contributors.
Clang has the potential to be a top-notch, open-source C++ compiler
and tool platform, from which we would all benefit. Let's help Clang
get there sooner!
Links:
Clang: http://clang.llvm.org/
LLVM: http://llvm.org/
Steve Naroff's talk motivating Clang:
- Video: http://llvm.org/devmtg/2007-05/09-Naroff-CFE.mov
- Slides: http://llvm.org/devmtg/2007-05/09-Naroff-CFE.pdf
Clang announcement: http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-
July/009817.html
Cheers,
Doug
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk