Related articles |
---|
C/C++ header file parser lost_stranger@verizon.net (Pankaj Garg) (2006-09-30) |
Re: C/C++ header file parser daw@taverner.cs.berkeley.edu (2006-10-03) |
Re: C/C++ header file parser pjb@informatimago.com (Pascal Bourguignon) (2006-10-03) |
Re: C/C++ header file parser alex_mcd@btopenworld.com (Alex McDonald) (2006-10-03) |
Re: C/C++ header file parser ppluzhnikov-nsp@charter.net (Paul Pluzhnikov) (2006-10-03) |
Re: C/C++ header file parser tmk@netvision.net.il (Michael Tiomkin) (2006-10-03) |
Re: C/C++ header file parser idbaxter@semdesigns.com (Ira Baxter) (2006-10-10) |
From: | daw@taverner.cs.berkeley.edu (David Wagner) |
Newsgroups: | comp.compilers |
Date: | 3 Oct 2006 18:12:22 -0400 |
Organization: | University of California, Berkeley |
References: | 06-09-169 |
Keywords: | C, C++, parse |
Posted-Date: | 03 Oct 2006 18:12:22 EDT |
Pankaj Garg wrote:
>I need to parse C/C++ header files and extract information about data
>types, functions and function arguments. Which tools/libraries would
>be suitable for me? Are there any examples/sample programs for such.
>
>I don't want to build a full fledged yacc based parser so i am looking
>for a ready made parser, preferably open source.
First, please fix the email address listed in the From: line.
I tried replying by email, but the email bounced.
Regarding your question, search the archives, and you will find
several options listed. One option is that you could try Elsa/Oink:
http://www.cs.berkeley.edu/~smcpeak/elkhound/sources/elsa/
http://www.cubewano.org/oink/features_of_elsa.html
http://www.cubewano.org/oink/
Elsa is a C and C++ parser. Oink is a layer on top of Elsa that
simplifies ("lowers") the C++ and puts it into a canonical form so it
is a little easier to deal with. It's open source. It's not perfect,
but it seems fairly solid. We've been using it in our research to
parse and analyze all Debian C/C++ packages, and it works pretty well:
Elsa can parse most, but not all, of those packages.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.