Parsing C/C++ in Ruby


#1

I need to parse a source tree to generate a table of functions used.
GCC-XML is causing more trouble than helping (I might be using it
wrong). Is there a C/C++ parser library (written in Ruby) available?
Failing which, which parser generator would you recommend, that would
help me write a simple C parser? My CC skills are a bit rusted, and it
would greatly help if the parser generator library has examples and/or
tutorials.


#2

Sparky M. wrote:

I need to parse a source tree to generate a table of functions used.
GCC-XML is causing more trouble than helping (I might be using it
wrong). Is there a C/C++ parser library (written in Ruby) available?
Failing which, which parser generator would you recommend, that would
help me write a simple C parser? My CC skills are a bit rusted, and it
would greatly help if the parser generator library has examples and/or
tutorials.

I haven’t used gcc-xml but it would seem to me the right tool for the
job.

As an alternative you could use SWIG, and output the results to xml (use
the -xml or -xmlout options). Then parse that XML with rexml or libxml.

C++ is a pretty complex language to parse, but SWIG understands most of
it - certainly enough to locate methods and functions.

a


#3

On Tue, Jan 13, 2009 at 7:14 AM, Alex F. removed_email_address@domain.invalid
wrote:

I haven’t used gcc-xml but it would seem to me the right tool for the job.

What problems are you having with GCC-XML?

Have you checked out rbgccxml? http://github.com/jameskilton/rbgccxml

Jason