i'm involved in a c parsing tool project, c99tree, and pleased to announce its first release
http://repo.hu/projects/libporty it is in early development, but it can parse c99 code (without includes and preprocessor tokens) and print an abstract syntax tree eg useful for listing function calls of a .c file etc (the current form is very sensitive to undefined type ids this will be fixed up later) c99tree knows c99 grammar very well (and a fair amount of gcc extensions), but it does not try to check syntax errors or semantic problems, just dumps a tree or fails the difficult part will be the preprocessor some part of it is scheduled for the next release for suckless it maybe useful for code analysis and code audit as it tells a bit more than a wc -l :) the grammar is based on the .y and .l files of pcc http://pcc.ludd.ltu.se (actually http://golang.org/src/cmd/cc/cc.y is cleaner, but seemed more work to cut out and make c99/gcc compatible, might take another look at it later..)