This is the solution. It doesn't even need to be parseable subset of C -- it could be anything. It just needs to be able to describe an ABI. And from that, you generate C headers or bindings for other languages.
I don't think this idea is in any way controversial -- it would just be a lot of work to do across a large number of systems.
I don't think this idea is in any way controversial -- it would just be a lot of work to do across a large number of systems.