Современный переводчик Ada в C / C ++ [закрыто]

Есть ли какой-нибудь конвертер источника-источника (переводчик) из Ada (95, 2005) в C? Насколько они полны (могут ли они преобразовать каждую функцию Ada в gnu c99 + pthreads + POSIX)?

Можно ли использовать такой переводчик ada-to-c в критических приложениях?

PS: Переводчики на C ++ (до 2003 года с расширениями GNU) также приветствуются.

PPS: когда указано «gnu c99», это означает только то, что поддерживается большинство расширений gnu C99 +, но не означает GCC.

Ответы на вопрос(2)

открытый источни Ada-to-C переводчик. Единственный, кого я знал вообще, был SofCheck's, который по сообщениям был довольно хорош.

тех пор @SofCheck был куплен AdaCore, и я сделалочен краткий поиск переводчика на сайте AdaCore, и ничего не выпрыгнуло. Вы можете спросить их по адресу sales@adacore.com, если вам подходит коммерческое решение. (По крайней мере, получить цену.)

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

Если ты настаиваешь, переводчик Софчек может быть лучшим; они долго над этим работали.

В противном случае вы можете (?) Построить транслятор, начиная с вывода ASIS компилятора Ada. Скорее всего, это довольно трудоемкая работа, поскольку у Ada довольно точная семантика, которую лучше сохранить, если вы хотите просто небрежно кодировать в Ada, переводить и запускать. Будет еще больше работы, если вы хотите, чтобы результат был «красивым» для конечного потребителя. (Долгосрочное обслуживание должно быть рассмотрением). Я подозреваю, что реализация кода для имитации свиданий Ады может быть довольно сложной, будучи одновременно семантически сложной и асинхронной. Настоящий недостаток этого подхода заключается в том, что это много работы; может быть, просто продолжить свою жизнь и кодировать само приложение в чем-то не-ада было бы меньше усилий.

Смотри мои замечания наеревод на язык сделан пло и альтернативные методы.

ВАШ ОТВЕТ НА ВОПРОС