The libfirm library (on GitHub: https://github.com/libfirm/libfirm) provides all the basics required for processing abstract syntax trees, carrying out a range of standard optimizations, and targeting for a range of back ends.
When combined with a suitable parser, it may suffice to serve as a drop-in replacement for GCC's implementation of C11 or C18.
A companion front end, cparser, is also provided (on GitHub: https://github.com/libfirm/cparser) that contains suitable abstract syntax trees for C11, but a recursive-descent parser. It may be possible to adapt its tree-construction, tree-walking and semantic analysis routines into your parser - thereby making possible a larger suite of regression tests against a larger codebase (including the parser itself).
A note has also been sent to cparser informing the developers of your regression tests under "tests" and your lexer and parser. The two sets of projects, C11parser and cparser, should actually be combined.
The libfirm library (on GitHub: https://github.com/libfirm/libfirm) provides all the basics required for processing abstract syntax trees, carrying out a range of standard optimizations, and targeting for a range of back ends.
When combined with a suitable parser, it may suffice to serve as a drop-in replacement for GCC's implementation of C11 or C18.
A companion front end, cparser, is also provided (on GitHub: https://github.com/libfirm/cparser) that contains suitable abstract syntax trees for C11, but a recursive-descent parser. It may be possible to adapt its tree-construction, tree-walking and semantic analysis routines into your parser - thereby making possible a larger suite of regression tests against a larger codebase (including the parser itself).
A note has also been sent to cparser informing the developers of your regression tests under "tests" and your lexer and parser. The two sets of projects, C11parser and cparser, should actually be combined.