XDS - бесплатная система программирования для Modula-2/Oberon-2

Семейство продуктов XDS

Системы разработки для Modula-2/Oberon-2

Продукты семейства XDS представляют собой полные системы программирования, которые предназначены для разработки программного обеспечения на языках программирования Modula-2 и Oberon-2.

Уникальной особенностью систем XDS является полная интеграция между Модулой-2 и Обероном-2, которая позволяет смешивать реализованные на этих языках модули в одном проекте без дополнительных усилий.

С мая 2005 года все продукты семейства XDS распространяются бесплатно.

Семейство XDS состоит из следующих продуктов:

Native XDS-x86 - полная система программирования для языков Модула-2 и Оберон-2, построенная на базе оптимизирующего компилятора для процессоров Intel x86. Доступна для платформ Windows и Linux.

XDS-C - система программирования, построенная на базе транслятора из языков Модула-2/Оберон-2 в Си. Вместо объектных файлов она производит текст на диалектах K&R C (Kernigan & Ritchie C), ANSI C, или на C++, который затем может быть скомпилирован любым подходящим компилятором Си/Си++ практически для любой платформы. Сама система XDS-C доступна в двух вариантах: для работы под Windows или Linux.

Примечание: пожалуйста, обратите внимание, что трансляторы XDS НЕ ПРЕДНАЗНАЧЕНЫ для конвертации Модула/Оберон программ в Си. Несмотря на то, что Си/Си++ текст, производимый транслятором XDS может быть скомпилирован и будет правильно работать, он не предназначен для чтения и модификации человеком. Большая часть информации исходной программы (именование переменных, типов и процедур, комментарии, константные выражения и т.п.) в процессе трансляции теряются или искажаются. Если Вам необходимо перевести свою программу на Си, обратите внимание на соответствующие услуги, предоставляемые нашей компанией.

TopSpeed Compatibility Pack (TSCP) - дополнение к компиляторам XDS, которая повышает совместимость XDS с компиляторами/средой разработки продукта TopSpeed Modula-2, упрощая таким образом миграцию исходных текстов, наработанных в среде TopSpeed Modula-2. В XDS версии 2.6 beta TSCP включен в общий дистрибутив и инсталлируется по умолчанию.

New Excelsior Modula-2 IDE for XDS - выпущенная 22 июня 2016 г. интегрированная среда разработки на базе Eclipse, opensource.

Функциональность

  • соответствие стандарту ISO 10514 и языковые расширения. Язык Модула-2, поддерживаемый компиляторами XDS, соответствует спецификациям языка стандарта ISO 10514. Набор специальных расширений языка, реализованных в XDS, управляется опциями компилятора и упрощает миграцию программ с версий языка, предшествующих принятию ISO-стандарта, а также облегчает реализацию взаимодействия с компонентами, разработанными на других языках программирования.
  • Поддержка мультиязыкового программирования. Уникальной особенностью компиляторов XDS является естественная интеграция между Модула-2 и оберон-2 кодом. Объекты модулей Модула-2 (типы, переменные и процедуры)могут быть свободно использованы из Оберон-2 модулей. Специальная дополнительная функциональность компиляторов XDS облегчает также и взаимодействие с другими языками программирования. Из Модула-2 или Оберон-2 кода Вы можете вызвать Си-функции из DLL или shared libraries, а так же функции системного API, для которых есть модули определений (definition modules).
  • Богатый набор библиотек. XDS поставляется с полным набором библиотек, которые требуются стандартом ISO 10514. Они могут быть использованы как из Модулы-2 так и из Оберона-2. В XDS также входит ряд библиотек, которые делают программирование более комфортабельным и эффективным (например, реализация printf в стиле Си).
  • Библиотека времени исполнения (RTS). XDS включает в себя RTS с правом бесплатного тиражирования в приложениях, который включает сборку мусора и метаязыковые средства, необходимые для Оберона-2.
  • Встроенный make. Компиляторы XDS автоматически определяют взаимозависимость исходных текстов проекта, вычисляют   минимальный набор файлов требующих перекомпиляции, а также корректную последовательность компиляции, позволяя таким образом пересобрать проект произвольно сложной структуры за один запуск компилятора.
  • Поддержка многопотоковых приложений. Библиотеки XDS допускают свободное использование в многопотоковых приложениях. Реализация управления потоками совместима с ISO 10514 с рядом отдельных расширений. Это позволяет приложениям использовать специфические возможности данной платформы поверх переносимых ISO-стандартных интерфейсов.
  • Богатые отладочные возможности. В состав Native XDS-x86 for Windows входит мощный отладчик, поддерживающий полный набор средств диалоговой отладки в локальном или удаленном режиме. Он также предоставляет уникальный пакетный режим, кардинально облегчающий отладку в особо запутанных случаях путем использования отладочного скрипта вместо рутинной ручной трассировки приложения.
  • Встроенный ассемблер. Компиляторы Native XDS-x86 для Windows и Linux содержат встроенный ассемблер, обеспечивающий прозрачный доступ к глобальным переменным или процедурам программы из ассемблерной вставки.
  • Системные API. В состав XDS входят модули определений (definition modules) API операционной системы, для которой предназначен: Windows.def для ОС Windows, POSIX и X11 для Linux.
  • Исходные тексты библиотек. Чтобы избежать проблем с совместимостью, XDS-C для всех платформ и Native XDS-x86 для Linux поставляются с исходными текстами библиотек на языке Си вместе с соответствующим makefile.
  • Интегрированная среда разработки (IDE). Продукты XDS для Windows поставляются с интегрирующей оболочкой, которая позволяет собрать проект и запустить приложение или отладчик не прерывая работы над исходными текстами.

Excelsior IDE

Интегрированная среда разработки на базе Eclipse с открытыми кодами

22 июля 2016 г.

Excelsior IDE разработана для замены штатной IDE из состава XDS и обеспечивает более комфортные условия разработки ПО на языках Modula-2 и Oberon-2

Основные функции

  • синтаксическая раскраска текста
  • подсказки при наборе кода на базе анализа контекста
  • навигация по проекту, включая поиск использований объекта и переход на определение объекта
  • форматирование текста с соблюдением стиля
  • переименование объектов программы

Opensource

Исходные коды Excelsior IDE доступны на GitHub на условиях Eclipse Public License и могут быть свободно использованы как база для поддержки других диалектов Модулы-2, других языков программирования и т.п.

Добровольцы, готовые приложить свои умы и руки для развития этого проекта горячо приветствуются, равно как и спонсоры.

Текущее состояние

На момент первой публикации Excelsior IDE позволяет полностью заменить штатную IDE из состава продуктов семейства XDS.

Ее функциональность заметно шире того, что было реализовано в XDS IDE предыдущего поколения, и обеспечивает больший уровень комфорта при разработке и отладке программ.

Однако, многих полезных функций в Excelsior IDE не хватает, особенно в сравнении с уровнем поддержки в IDE других популярных современных языков программирования, таких как Java или C#.

Например:

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

Заявление о планах на будущее

Этот проект не является коммерческим. Он сделан нами во многом благодаря удачному стечению обстоятельств. Все упомянутые и не упомянутые выше недостатки являются следствием ограниченности ресурсов, которые мы можем выделить на этот проект.

Прогнозировать наши возможности работать над этим проектом мы не можем, и по этому не можем дать никаких обещаний по поводу будущих планов. Равно как и не обещаем полноценной технической поддержки для этого продукта.

Все, что мы можем определенно заявить по поводу будущего этого проекта, это то, что мы приложим свои усилия к тому, чтобы он развивался, используя для этого все возможности, которые у нас будут.

Приглашаем всех заинтересованных в развитии этого проекта принять участие в его доработках, или выступить спонсором, заказав, например, для себя нужные доработки и позволив нам, или другим разработчикам, выложить результат в открытый доступ.