Boost logo

Boost Users :

From: David Abrahams (dave_at_[hidden])
Date: 2002-12-09 11:25:11


srivatsan raghavan <machinshin2002_at_[hidden]> writes:

> --- "William Trenker <wtrenker_at_[hidden]>"
> <wtrenker_at_[hidden]> wrote:
>> Does anyone know if there is a GCC option to save
>> the C++ parse tree
>> to a file? Or has anyone come across a C++ parser
>> utility that does
>> this? I'm building a Python extension for a library
>> that has many
>> .hpp files and I would like to try and automate the
>> generation of the
>> Boost.Python headers for this library.
>>
>> Thanks,
>> Bill
>
>
> yes, i know of one called gcc-xml.. i don't know if
> the project is still being worked on,

It is. Brad King, the author, is also working on CABLE, an automated
wrapping system. He has been talking about building a GCC_XML
front-end for Boost.Python. There has also been interest more recently
from someone named Nicodemus on the C++-sig:
http://www.python.org/sigs/c++-sig/

> but basically it uses gcc's parser as a 1st phase and then takes the
> parse tree that's generated and outputs an xml file (i don't know if
> it has a schema or DTD available , it didn't when i last looked, but
> the xml format it uses is sufficiently simple that writing a
> DTD/schema should be trivially simple) url here :
> http://www.gccxml.org/HTML/Index.html
>
> last i checked it uses the gcc 3.0.4 source as the
> front end parser, so it may be a bit lacking in terms
> of advanced c++ features especially in the area of
> templates :) ( as was gcc in general until 'round 3.2
> anyway )
> but that should help you out :)

GCC_XML is up to 3.2 now, and I have to disagree about GCC's template
handling before that. Even 2.95.2 was pretty great by comparison to
many of today's production compilers. The front-end in 3.0.4 was not
enormously different from 3.2 in its capabilities.

-- 
                       David Abrahams
   dave_at_[hidden] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net