IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Компиляторы AdaMagic и GNAT CCG, Ada -> C, C++
сообщение
Сообщение #1


Большевик–концептуал
***

Группа: Пользователи
Сообщений: 193
Пол: Мужской
Реальное имя: Иван Левашев
Jabber: bu_gen@octagram.name
Skype: i.levashew
QQ: 3152538431
WeChat
Ада: Сторонник
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик
Turbo Pascal: Установлен

Репутация: -  1  +


Был давно такой интересный компилятор у производителя SofCheck. 5 лет назад SofCheck и AdaCore слились, а компилятор куда-то потерялся. У AdaCore его даже не купить. Он, конечно, поддерживает более старый стандарт Ada 95 с подмножеством Ada 2005, но иногда даже и такой компилятор может пригодиться.

Этот компилятор неожиданно был найден у другого производителя, который у адаистов вообще не на слуху: MapuSoft. У них можно запросить демку и скачать, потом они впаривают какой-то AppCOE на базе Eclipse, а если оно не нужно, то приходится распаковывать архив из архива из архива. Я постарался вытащить из AppCOE собственно AdaMagic и отбросить шелуху. Не имея представления о том, как он должен был выглядеть, возможно, не во всём корректно. И некоторых файлов вроде adabgen.inf и adacgen.inf просто нет.

Замечание от 13 июня 2018: нет, всё же IDE полезно иметь, см. тему дальше.

Таким образом, это компилятор Ada -> C, C++, запускается он на Windows и Linux, а через эмуляторы — и на других платформах. Сценарий использования из коробки — это Ada -> C, C++ -> GCC, но в GCC есть GNAT, который лучше, а AdaMagic интерес, как я понимаю, представляет, когда нужно собирать под платформы, не поддерживаемые GNAT, вроде Asm.js и Эльбрус, соответственно, научиться им пользоваться нетривиально и зависит от потребностей. Может понадобиться писать свой рантайм или не использовать те возможности языка, под которые рантайм не написан.

Для скачивания требуется регистрация на форуме.

AdaMagic.2016-07-22.7z (191 Мб)


--------------------
If you want to get to the top, you have to start at the bottom
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Большевик–концептуал
***

Группа: Пользователи
Сообщений: 193
Пол: Мужской
Реальное имя: Иван Левашев
Jabber: bu_gen@octagram.name
Skype: i.levashew
QQ: 3152538431
WeChat
Ада: Сторонник
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик
Turbo Pascal: Установлен

Репутация: -  1  +


В блоге AdaCore с прошлого года появляются уже разные посты про новую технологию SPARK-To-C, она же GNAT CCG, Common Code Generator, тоже транслятор в C. Коммерческим клиентам AdaCore эта технология уже доступна, можно ожидать, что в ближайшие пару месяцев выложат в открытый доступ одновременно с обычными компиляторами, как это делается каждый год.

Код
gprbuild --target=c


Технология на данный момент сильно ограничена, но это адекватно целям её применения — экзотические платформы, а это всякий embedded, под который, если портировать GNAT, то это как минимум GCC. На embedded платформах большую роль играет минимальный размер. Также требуется потратить некоторое время на портирование рантайма. CCG решает эту проблему радикально: ни одна из возможностей Ada, требующая runtime, не доступна. Нет рантайма — нет проблемы. Можно сразу писать на Аде, наслаждаясь вменяемой модульностью, но на выходе — только то, что может быть портируемым образом перенесено в C. Например, записи с массивами с длиной, заданной дискриминантом, могут иметь в своём составе только один такой массив, и он должен быть в конце записи. Нельзя возвращать строки переменной длины из функций, так как нет вторичного стека. Некоторые автоматически навешиваемые проверки, впрочем, могут присутствовать, не совсем всё урезано.


--------------------
If you want to get to the top, you have to start at the bottom
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.09.2020 15:40
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name