Ofront+
Транслятор Оберон-языков в Си.
Ofront+ это перенацеливаемый кроссплатформенный транслятор, который переводит программы на пяти диалектах Оберона (Oberon, Oberon-2, Oberon-07/16, Component Pascal, Oberon-3) в семантически соответствующие им исходные тексты на языке Си. Поддерживаемые хост-платформы:
- BlackBox Component Builder
- FreeBSD (i386, amd64, arm)
- Linux amd64 (i386, amd64, arm)
- macOS
- MS Windows (x86, x64)
- OpenBSD, NetBSD (i386, amd64, arm)
Ofront+ не вызывает Си-компилятор и линкер самостоятельно. Это может быть сделано в отдельных командных или make- файлах, содержимое которых по своей сути зависит от используемого для сборки компилятора Си. Поддерживаемые компиляторы:
- GCC/MinGW, 32/64 bits
- Clang
- SDCC (Small Device C Compiler)
- Tiny C (tcc)
- cc65
Си-код, порождённый Ofront+, максимально удобочитаем, хорошо отформатирован и не должен выдавать никаких предупреждений и сообщений об ошибках компиляции. Фактически можно ожидать, что Оберон-программа, переведённая при помощи Ofront+, будет хорошо читаться и выполняться так же быстро, как и эквивалентная программа, закодированная вручную.
Проект Ofront+ основан на Ofront Йозефа Темпла, но содержит много дополнительных доработок и расширений: константные массивы, «правильный FOR», поддержка нескольких Оберон-языков в одном проекте, возможность генерации кода для 8- и 16-битных микропроцессоров и т.д. Ofront+ активно развивается сообществом.
Страница проекта: https://zx.oberon.org/ofrontplus