I wanted to share a project we've been working on for sometime within the context of Renjin, a new interpreter for the R language running on the JVM.
We basically needed a way to compile C and Fortran code to JVM classes, and for the last year or two we've been working on tool chain that's composed of a GCC plugin which dumps Gimple trees out to a JSON file, and a Java program which reads the JSON and compiles it to Java classfiles. I've written a bit more about it today here: http://www.renjin.org/blog/2016-01-31-introducing-gcc-bridge.html And you can find the whole project here: https://github.com/bedatadriven/renjin/tree/master/tools/gcc-bridge The compiler is part of the Renjin project, but can also be used in a standalone way to compile arbitrary C/Fortran code to Java classfiles, though the focus has been on pure scientific code, so we haven't bothered with some rather obvious things like fopen(). Anyway, using the GCC plugin interface has been terrific, and the gimple trees have been great to work with! -Alex