If you really plan to integrate multiple languages in the same VM (JVM or CLR) - TRULY integrated so they all build classes dependent on each other, then you shouldn't impose an order of compiling. Thus, the compilers must be integrated.
Writing a compiler is no simple undertaking. I've spent a few years on and off (mostly with the Python source code) trying to understand compiler internals on a practical level, and I'm only really only just beginning to learn enough to be able to man