ВитаминКО, честно сказать я в компилятор практически не заглядывал, была попытка собрать под линь, как я уже сегодня писал в теме C/C#/C++, но без каких либо знаний С++ (или Си, на чем он там написан), она оказалась неудачной. (взялся собирать под линукс, ибо там есть папка "linux", в ней make файл, который по логике нужно закинуть в другую папку и заюзать).
А у них видимо и запись, и преверификация, и сборкаДа, но компилятор ясен-пончик не собирает в .jar.
Например, как делается программа с твоего кода в моем редакторе:
1. ты пишешь код...
2. жмешь собрать...
3. твой исходник проходит через препроцессор который удаляет комменты и подключает директиву I (препроцессор вообще левый, отношения к мп не имеет, вроде под делфи , но дело свое делает)
4. готовый файл отдается компилятору, который делает из него class, и возвращает мне ошибки если они есть, а также названия модулей/либ которые используются
5. если подключаемые модули есть, я по-очереди посылаю их в пункт 3
6. потом все это готовое дело пакуется тебе в jar'ку вместе с ресурсами и манифестом :3
А о портировании компилятора, так как это компилятор, он не должен быть привязан к какой-то ос, + си код, так что возможно и потеть там сильно не надо Хотя, что тут говорить, если я не компетентен в этой теме.