Axcel писал(а):
Извините господа/товарищи, но я что-то совсем ничего не понимаю. Собственно о чем идет речь?
Итак, имеем множество компиляторов с Оберон-2, для платформы i386, в том числе компилятор компонентного паскаля для BlackBox с "правильной" лицензией. Что собственно требуется-то? Компилятор для какой другой платформы? Для какой?
Или существующие компиляторы чем-то серьезно не устраивают. Например, что-то не устраивает в Блэкбоксовском компиляторе? Ну вообще-то об этом уже говорили - нет оптимизации. Кстати чем компонентный паскаль сложнее Оберон-2?
Т.е. в чем идея?
С моей точки зрения есть три разумных варианта в плане компиляторов:
1. Разработка (на базе BlackBox) системы кросс-компиляции для программирования контроллеров. Ине кажется такая разработка могла - бы быть рентабельной. Впрочем я не маркетолог.
2, Разработка оптимизирующего компилятора для BlackBox по типу XDS. Для этого варианта можно и "скинуться".
3. Перевод XDS в Open Source. Но сие от нас не зависит.
Поддерживаю эту попытку прояснить цель. (IMHO, главное, от чего страдает наше небольшое обероновское сообщество, -- это некоторая несфокусированность на ясных конкретных целях. Поэтому давайте "сфокусируемся".

)
Действительно, для "персоналок" уже существует ряд неплохих реализаций Оберона-2 и КП.
Что касается Оберона-2, то XDS одинаково хорошо работает как под Windows, так и под Linux (в моем случае -- Ubuntu; чтобы пользоваться Oberon-2 в привычной для себя манере, я добавил к Vim
файл поддержки обероновского синтаксиса).
Поэтому правомерно возникает вопрос о целевой платформе, который и сформулировал Axcel.
Чем может отличаться наш компилятор от других?
- От традиционных виртовских компиляторов -- поддержкой оптимизации. Это существенно влияет на структуру компилятора, т.к. потребуется промежуточное представление кода, тогда как виртовские компиляторы генерируют код "на лету".
- От XDS -- открытостью кода и перенацеливаемостью на произвольные платформы. Для этого опять же требуется промежуточное представление кода (как интерфейс между front-end и back-end), а также желательна продуманная поддержка описания целевой машины (к примеру, в lcc она не очень продумана; возможно, в gcc дело обстоит иначе?).
- IMHO, Борис Рюмшин высказал очень здравую мысль, что компилятор мог бы сразу поддерживать несколько вариантов Оберона (благодаря большим совпадениям между ними).