cparser is a C compiler, which can parse C90 and C99 as well as many GCC and some MSVC extensions. It also provides many useful analyses for warnings. It uses libFIRM, which provides an SSA-based intermediate representation in form of explicit dependency graphs, for optimization and code generation. Parsing is done with a handwritten recursive descent parser. The AST representation is straightforward, so it can be used for other purposes than code generation. * fast recursive descent parser, parses C90 and C99 * handles most GCC extensions, e.g. __attribute__, inline assembler, computed goto, statement expressions * handles some MSVC extensions (like declspec) * provides many useful warnings * format string checker for char and wchar_t * unreachable code analysis * missing return statement check, which pinpoints exact location(s) * write-only/-self variables detection * missing and redundant forward declarations * most warnings switches, which are available for GCC * provides concise messages in case of error, for example when encountering misspelled typenames * compiler driver compatible with GCC (-fxxx, -Wxxx, -M, ...) * uses libFIRM for optimization and code generation (devel/libfirm) WWW: http://www.libfirm.org