To “parse” C (header) files in the deepest sense and get type information for function declarations, in practice you need to:
- full preprocessor (including vendor-added pecaddillos, MS has some pretty weird stuff in its headers)
- full (syntactic) AST parser / builder for the dialect C of interest (there is no such thing as "C", there is what the seller offers in this revision of the compiler)
- building a table with a full character (since typedef are aliases for actual types of interests)
" ( C)". ; , , . , C, .
C ;
T*X;
A .
C, . ( ), , typedefs, undefined , , C, .
, . Clang , , MS. GCC - , , C, MS C. DMS Software Reengineering Toolkit MS C.
, , , , - . , . # C , , C # , , API # C. "" #. , , , . GCC ; . Clang DMS , .
, , ; , , , , . , ( " ..." ). , , . , GCC Clang MS-; , DMS . . C/++ Visual Studio?