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

GitHub: https://github.com/Oleg-N-Cher/OfrontPlus

© 2005-2022 OberonCore и коллектив авторов.