I wouldn't do any parsing stuff, and instead piggyback off of the XML output of either gcc (I've never used it, but I seem to remember that it was possible to get a code structure breakdown as XML from gcc), or Doxygen's XML output.
I had a util that was doing a portion of this for some C++ stuff I was building. It would create GOOP style classes (just copying vi's from templates) for all the methods as well as C method wrappers for each class. Unfortunately this was several months ago (circa LV6.0/1), and I couldn't figure out how to setup the CallLibrary stuff automatically (I don't think it was available at the time) so I ended up dropping the project as it couldn't get me far enough. The really bad part is that I apparently lost all of that work off of an old machine when I reformatted it recently. Most of it was driven by a python script to crunch the XML and generate the wrapper plus drive some VIs to generate the class llb. I will attempt to sift through my backups when I get time to see if I can dig it up.
--edit
Actually I seem to remember at the end of that project determining that I would probably need to integrate with SWIG as managing type conversion in any non trivial way was going to be a bear and SWIG already takes you 90% of the way (eg being able to use objects created by methods of a class). Not only that I now think that I may have used SWIG's xml output instead of doxygen... must find a backup of that project! Regardless I will try and see if I can get something going down this vein, but I am swamped at work... so don't hold your breath.
--end edit
Tuck