c/c++语言开发共享现代Ada转C / C ++翻译

从Ada(95,2005)到C,是否有任何源到源转换器(转换器)? 他们有多满(他们可以将Ada的每个function转换为gnu c99 + pthreads + POSIX)吗?

是否可以在关键应用程序中使用这种ada-to-c转换器?

PS:也欢迎译者到C ++(最多2003年,扩展名为gnu)。

PPS:当说“gnu c99”时,它仅表示支持C99 +大多数gnu扩展,但不代表GCC。

    我不知道任何开源的 Ada-to-C翻译器。 我唯一知道的就是SofCheck,据报道它非常好。

    SofCheck后来被AdaCore收购,我对AdaCore网站进行了非常简短的翻译搜索,没有任何内容跳出来。 如果追求商业解决方案对您来说是一个可行的选择,您可以在sales@adacore.com上询问他们。 (至少得到一个价格。)

    除非有非常强大的理由在这个应用程序中使用Ada(例如,客户要求它,或者你已经在Ada中编写了一个你想要使用的大型应用程序),如果你只是咬一口,它可能会少得多痛苦根据您的需要,使用精心设计的C99或C ++编写解决方案并编写解决方案。

    如果你坚持,Sofcheck的翻译可能是最好的; 他们长期以来一直在努力。

    如果做不到这一点,你可以(?)从Ada编译器的ASIS输出开始构建一个翻译器。 这可能是相当多的不必要的工作,因为Ada具有相当精确的语义,如果你想在Ada中粗心地编码,翻译和运行,你最好保留它。 如果您希望输出对最终客户来说“非常”,那将会更加有效。 (长期维护应该是一个考虑因素)。 我怀疑实现代码来模拟Ada的会合可能相当棘手,同时在语义上复杂和异步。 这种方法的真正缺陷在于它需要做很多工作; 也许只是继续你的生活并将应用程序本身编写为非Ada的东西会减少工作量。

    请参阅我关于语言翻译的警告和替代方法。

    需要了解更多c/c++开发分享现代Ada转C / C ++翻译,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!

      以上就是c/c++开发分享现代Ada转C / C ++翻译相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/980094.html

      (0)
      上一篇 2021年12月13日
      下一篇 2021年12月13日

      精彩推荐