Parsing C header files

I was wondering if there is a tool that can parse a C header file and
give me an AST that would allow me to process it in Ruby. Does anyone
know of a relatively easy way to do this? I was thinking that a lot
of people probably need to parse API’s for one reason or another.

My situation is that we have a large application that was originally
written in Ada, but now has a C interface. We need to make the API
available to Matlab/Simulink, which is a model-based development
system (basically it’s programming with diagrams). This is done in
Matlab via S-functions (system functions). This system is pretty
large and writing all the S-functions by hand would be a big job.
Seems to me that a tool is the best choice and Ruby seems like the
tool to do it.

On Aug 2, 2007, at 17:50, Wayne wrote:

large and writing all the S-functions by hand would be a big job.
Seems to me that a tool is the best choice and Ruby seems like the
tool to do it.

Take a look at h2rb in ext/dl/ in a ruby checkout/tarball.