This week's book giveaway is in the Mac OS forum. We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line! See this thread for details.
The JVM must have been written in something, that is better portable among several platforms, as Java was intended to be portable and to be ported to several platforms.
What would have been your choice?
If you have a backing JVM you can write (at least portions of the) compiler even in Java.
You can theoretically write a working compiler (maybe step by step) on one platform, and put to use the resulting compiler classes on the other platforms, if the JVMs are available there.