]]> ]]>

AdaMagic

Реализация языка программирования Ada

AdaMagic — это компилятор Ada 95, разработанный в Intermetrics под руководством С. Такера Тефта (S. Tucker Taft). Intermetrics — это одна из четырёх компаний, участвовавших в конкурсе на первый язык Ada. В том конкурсе победил язык под кодовым названием Green, и стал Ada 83. Кодовое имя языка, предложенного Intermetrics, было Red. Ada 95 сформирована под большим влиянием Red. Подход ООП, не вошедший в первую основную версию стандарта Ada, попал, таким образом, во вторую.

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

  1. Трансляция в промежуточное представление.
  2. Трансляция в C или C++.
  3. Трансляция в байт-код Java (AppletMagic).

Например, один из компиляторов на базе AdaMagic, ObjectAda, имел поддержку первого и третьего режимов. В этом компиляторе промежуточное представление докомпилируется до машинных кодов, например, для x86. AppletMagic также распространялся бесплатно без посредников.

AppletMagic поддерживает стандарт Ada 95, в то время, как GNAT поддерживает стандарт Ada 2012 и поддерживает трансляцию и в байт-код Java, и в .NET. Таким образом, из всех этих режимов не потерял актуальности только второй.

Intermetrics несколько раз сменил имя, сначала на AverStar, затем на SofCheck, затем SofCheck слился с AdaCore, но после этого слияния на сайте AdaCore не появилось никаких следов владения технологией AdaMagic.

На данный момент компилятор Ada в C/C++ можно скачать в составе MapuSoft AppCOE. Соответствующий компонент называется Ada-C/C++ Changer®. Имеются версии компилятора IDE для Windows и Linux, а в качестве целевых платформ могут потенциально выступать любые, для которых есть компилятор C++. MapuSoft специализируется на переносе программ с одной OS на другую, и в составе их инструментария есть достаточно богатый выбор поддерживаемых целевых операционных систем: Android®, Linux®, LynxOS®, LynxOS-SE®, LynxOS-178®, micro-ITRON®, MQX®, NetBSD®, Nucleus®, QNX® Neutrino® RTOS, RT Linux®, Solaris®, ThreadX®, T-Kernel®, UNIX®, VxWorks® 6x/5x, Windows ® XP/Vista/7/CE, microC/OS-III® — для этих целевых платформ MapuSoft AppCOE поддерживает работу «из коробки» при помощи так называемого OS Abstractor. Для других целевых платформ может потребоваться переносить системную библиотеку или отключать возможности языка Ada.

MapuSoft AppCOE с преобразованной в C программой (см. вебинар)
MapuSoft AppCOE с преобразованной в C программой (см. вебинар)


Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам