Все ссылки - Наши проекты - Компиляторы - Трансляторы - Инструменты - Библиотеки разработчика - Игры - Статьи и книги - Форум - Рекомендуемые сайты - Контакт

Компиляторы


OPCL (Oberon Portable Compiler and Linker) — консольный компилятор, линкер и набор библиотек для разработки программ под Windows на языках Оберон-семейства. OPCL сделан на базе исходного кода системы ETH Oberon PlugIn для Windows 95/98/NT/2000.

  • Поддерживает языки: Oberon, Oberon-2, Active Oberon (подмножество), расширения OberonX, встроенный ассемблер;
  • Генерирует код для Intel 80386 и выше;
  • Целевые платформы: Win32, ETH Oberon System.

  • Авторские права на ETH Oberon PlugIn принадлежат: Emil Zeller, Regis Crelier, Patrik Reali, Institute for Computer Systems of ETH Zuerich.


    Статьи по проекту OPCL:

  • Введение в программирование на OPCL (Oberon Portable Compiler and Linker)
  • На Обероне с комфортом, или IDE на основе Syn Text Editor + OPCL




  • GPCP (Gardens Point Component Pascal) — одна из реализаций языка Компонентный Паскаль (надмножество языка Оберон-2). С помощью компилятора GPCP можно получить как IL-код для платформы Microsoft.NET, так и байт-код для виртуальной машины Java (JVM). Разрабатывается на факультете информационных технологий Технологического университета Квинсленда, Австралия (Queensland University of Technology).

    Версия для JVM требует наличия Java Runtime Environment версии 1.2 или выше. Версия .NET требует наличия .NET SDK. Возможна интеграция GPCP в Visual Studio (2002, 2003) и Eclipse 3.0. Кроме того, есть альтернативная интегрированная среда разработки CPIde с минимальным набором функций.

  • Форумная тема: Gardens Point Component Pascal и J2ME




  • Component Pascal Compiler for command-line — кроссплатформенный (Win32/Linux32) компилятор языка Компонентный Паскаль (модифицированная версия компилятора BlackBox, адаптированная для использования из командной строки ОС).

  • Лицензия: BSD-подобная для фронт-энда, BlackBox Component Builder Open Source License — для бэк-энда;
  • Поддерживаемые платформы: IA-32 (подмножество x86);
  • Поддерживаемые ОС: Windows 2000/XP, Linux 2.6;
  • Производит: ОС-независимые кодовые и символьные файлы (.ocf, .osf), ограниченные архитектурой IA-32; исполняемые файлы и динамические библиотеки (.exe/.dll/.so) в формате PE/ELF;
  • Формат исходников: текстовые файлы с расширением .cp.




  • Exaprog Oberon — компилятор Oberon-07M. Oberon-07 — это язык программирования, созданный Никлаусом Виртом в 2007 году, этот язык является ревизией языка Oberon. Данный компилятор расширяет язык путём добавления одномерных динамических массивов. Компилятор изначально был разработан на языке Component Pascal, после чего исходные коды были немного преобразованы для компиляции при помощи компилятора Oberon-07M. Теперь компилятор может компилировать свои же исходные тексты.

    Oberon-07М можно свободно использовать в некоммерческих целях.

    Плюсы:

  • Может быть использован для разработки и обкатки алгоритмов под Windows, с последующим переносом сделанного на микроконтроллеры.
  • Минусы:

  • Закрытый код компилятора;
  • Не развивается.



  • Трансляторы


    Ofront (Oberon2-to-C Translator) (автор: Josef Templ) — транслятор, переводящий Oberon-2-программы в семантически эквивалентные программы на языке Си. Ofront для Windows — это, прежде всего, кроссплатформенный инструмент для разработки под встраиваемые системы, Unix-платформы и т.п. Ofront позволяет использовать библиотеки, написанные на Си или других языках программирования, практически без накладных расходов.

  • Ofront для Windows — версия Ofront для платформы MS-Windows. Работает как подсистема BlackBox Component Builder от Oberon Microsystems.
  • Ofront для Linux представляет собой версию Ofront для i386 для использования на Linux-совместимых системах. Эта версия протестирована под Debian с ядром 2.6.19.

    Ofront успешно используется как часть подсистемы XDev/ZXDev для разработки на Обероне-2 под 8-битный процессор Z80 (для платформы ZX Spectrum).



    OOC (Optimizing Oberon-2 Compiler) (автор: Michael van Acken) — это оптимизирующий транслятор промышленного уровня с языка Оберон-2 в ANSI-C и набор утилит для кроссплатформенной разработки на языке Оберон-2. Помимо транслятора, в проект включены воспомогательные утилиты (конвертер заголовочных файлов из Си и т.д.), набор стандартных библиотечных модулей и справочное руководство.

    Основная цель появления OOC — получить высококое качество оптимизации машинного кода при разработке на Обероне-2 для многих популярных компьютерных архитектур.

  • Git: Александр Ильин продолжил работу над транслятором
  • Форумная тема на OberonCore: Что с oo2c?




  • Оберс — транслятор с языка Оберон-2 в текст программы на макроассемблере NASM.

    Платформа транслятора: i80x86, i80x87, DOS 3.3 256Kb

    Целевая платформа: i80386, i80387, без операционной системы

    Проект был закрыт автором Юрием Бутенко и нынче им не поддерживается. Я взял на себя смелость разместить его здесь и перевести описание на русский (комментарии в программах остались на украинском), поскольку проект интересный (представьте себе транслятор современного ЯВУ с поддержкой ООП, занимающий 23 кб! Это он и есть). Поэтому.

    Плюсы:

  • Соответствие стандарту языка;
  • Может быть легко адаптирован для других целевых платформ;
  • В поставке есть тексты модулей, которые можно использовать с другими трансляторами языка Оберон-2.
  • Минусы:

  • Закрытый код транслятора;
  • Не реализованы раздельная компиляция и динамическая модульность;
  • Отсутствие даже простейшей оптимизации. Есть разве что вычисление констант на этапе компиляции.
  • Вердикт:
    Годится для изучения и дальнейшего совершенствования. В таком виде как есть для серьёзной работы непригоден.

    Копилка идей:

  • Можно научить его генерировать целевые исполняемые PE и ELF для Windows и Linux;
  • Можно воссоздать данный транслятор на открытой основе для дальнейшего его совершенствования;
  • Можно попробовать разработать на Оберсе собственную ОС;
  • Добавить свою идею.



  • Инструменты




    Syn Text Editor (авторы: Danail Traichev и Paul Gardner) — прекрасный функциональный редактор для программиста, имеющий массу достоинств. Он безплатен, с открытыми исходниками, понимает разные типы текстов (UNIX/Linux, Win32, Mac), оставляя их в том же виде, в котором они есть (можно отредактировать даже .htaccess, веб-мастера поймут). Имеет подсветку для большого количества языков программирования, а также возможность запускать внешние программы или скрипты. Настроить в нём можно почти всё. Запоминает позицию в тексте. Умеет автоматически переходить к позиции ошибки. Вобщем, весьма рекомендован для редактирования модулей на Оберон-языках.


    Статья На Обероне с комфортом, или IDE на основе Syn Text Editor + OPCL.



    Oberon-2 Lexer (автор: Ильин А.С.) — плагин для текстового редактора Notepad++. Помогает сделать Notepad++ удобнее для Оберон-разработчиков, добавляя в него подсветку синтаксиса языка Оберон-2, в том числе некоторых синтаксических ошибок: незакрытая строка, несбалансированные скобки комментариев или опций компилятора, неправильно сформированные числовые константы и пр.

    Внимание: плагин не работает в Notepad++ v5.9 старше (там изменился интерфейс подключения внешних лексеров, и обратной совместимости не оставили вообще). Так что последняя версия, где работает — 5.85.

  • Oberon-2 Lexer на OberonCore: http://oberoncore.ru/projects/o2lex
  • Форумная тема на OberonCore: Oberon-2 IDE на основе Notepad++
  • Форумная тема на Excelsior Forums: Obide (Oberon-2 IDE) plugin for Notepad++




  • ImportGraph (автор: Ильин А.С.) — утилита, которая помогает визуализировать структуру (взаимозависимости модулей) Оберон-программ. Изначально разработана для XDS+Amadeus под собственные нужды (структура каталогов и т.п.), затем адаптирована под использование с BlackBox.

    Адаптированная версия с исходниками была выложена здесь:

    http://forum.oberoncore.ru/viewtopic.php?p=46375#p46375

    Пример работы:

    http://oberoncore.ru/wiki/blackbox/sysgraph



    РОПС — редактор исходных текстов (автор: Александр Ширяев). Простой текстовый редактор, в первую очередь для языков программирования семейства Оберон, с проверкой синтаксиса. Основные возможности:

  • Проверка синтаксиса редактируемого файла, посредством вызова внешнего компилятора или встроенного парсера, сгенерированного с помощью Coco/R. Легко добавить новый язык программирования или компилятор.
  • Автоматическая подсветка синтаксиса (для языков программирования семейства Оберон - только минимальная: жирным выделяются идентифиакторы, отмеченные для экспорта, красным - «SYSTEM»). Правила подсветки синтаксиса можно легко изменить.
  • Автоматическое распознавание разделителя строк в редактируемом файле (Dos, Unix, Mac).
  • Может автоматически распознавать кодировку редактируемого файла.
  • Автоматическое удаление лишних пробелов в конце строк при сохранении файла.
  • Вставка и удаление отступов в начале строк (так же, как клавишами F11 и F12 в BlackBox).
  • Печать (на принтер, в файл).



  • Библиотеки разработчика


    SDL for Oberon — заголовочные файлы (интерфейсы) или привязки (bindings) для использования возможностей библиотеки SDL при разработке на языках Оберон-семейства: Модула-2/Оберон-2 (XDS), Active Oberon (OPCL, ETH Oberon) и Компонентный Паскаль (BlackBox Component Builder).

    SDL (Simple DirectMedia Layer) — это графическая и мультимедийная кроссплатформенная библиотека для разработки широкого спектра приложений, игр, эмуляторов и т.п.



    Visual Oberon (автор: Tim Teulings) — кроссплатформенная объектно-ориентированная библиотека для построения графического интерфейса на Oberon-2/OOC. VO — это хорошо продуманный абстрактный слой для XWindows. Полные исходные коды доступны под GPL. VO не базируется на системе Oberon.

  • Linux-версия основана на XWindows.
  • Кроме реализации на основе X11, есть Win32-версия, находящаяся в разработке (несколько отстаёт от Linux-варианта).




  • FreeImage — это библиотека с открытыми исходниками для разработчиков, которым нужна поддержка популярных графических форматов изображений, таких как PNG, BMP, JPEG, TIFF и других, что необходимо сегодня для построения мультимедийных приложений. FreeImage проста в использовании, быстрая, многопоточно-безопасная, совместима со всеми 32- или 64-разрядными версиями Windows и кросс-платформенная (работает как с Linux, так и с Mac OS X).

  • Знакомство с FreeImage
  • FreeImage.dll из XDS
  • Subsystem contains Component Pascal wrapper for FreeImage.dll



  • Игры


    Raycasting со спрайтами и с текстурированием стен, пола и потолкаИгра Color Lines для ОС A2 (Bluebottle)

    Raycaster, Raycaster Maze — игровой Raycasting движок на основе уроков

  • "Lode's Computer Graphics Tutorial — Raycasting",
  • "Lode's Computer Graphics Tutorial — Raycasting II: Floor and Ceiling" и
  • "Lode's Computer Graphics Tutorial — Raycasting III: Sprites".
  • Взяв за основу Raycasting движок и дополнив его алгоритмом генерации лабиринта, SAGE (Ярослав Романченко) разработал демонстрационное приложение Raycasting со спрайтами и с текстурированием стен, пола и потолка для ОС A2 (Bluebottle), в котором можно побродить по лабиринту. Есть просмотр карты лабиринта (клавиша Tab). Исходный код на языке Active Oberon доступен для скачивания.

    На веб-странице этого проекта есть игра Color Lines, также для A2 (Bluebottle).



    Samurai

    Samurai — кроссплатформенная игра (Win32, Linux), построенная с помощью библиотеки SDL for Oberon. Написана на языке Компонентный Паскаль.

    «Представляю вашему вниманию небольшую игру. По-сути, это демо-версия. Эксперименты с использованием SDL. Буду рад критике. Особенно критике кода. В самой реализации не всё так гладко, как хотелось бы. В частности, просчёт столкновений самый примитивный и требует доработки. Я думаю, что некоторые вещи можно было бы реализовать проще и красивее. Например, систему анимации. Управление: стрелки вправо и влево — соответствующие движения. Стрелка вверх — прыжок. Пробел — удар мечом.»

    Денис "Rafi" Колодько




    Игра для Oberon System 3 for Windows, написанная на языке Oberon

    Arkeroid — игра для Oberon System 3 for Windows, написанная на языке Oberon. Использует библиотеки Images v. 1.01 и Gfx v.1.63. Требования: минимальное разрешение экрана: 1024x768. На страничке есть подробные инструкции как установить и запустить игру.

  • Форумная тема на OberonCore: Игра Arkeroid для Oberon System 3 for Windows

  • Нынче проект заброшен, но если он вам понравился, то:

    Копилка идей:

  • Можно сделать специальный инсталлятор — сборку игры для запуска из-под Windows;
  • Можно портировать данную игру под графическую библиотеку SDL для Windows и Linux;
  • Можно портировать библиотеки Images и Gfx с Oberon System 3 на SDL;
  • Добавить свою идею.



  • © 2012-2014 VEDAsoft Oberon Club