Java source to byte-code compiler