元编程 – 用于自动移植的工具和可以编译成其他语言的语言

我只是出于好奇而问这个问题:

>是否有任何工具可以自动将合理复杂度的源代码从一种语言转换为另一种语言?
>有没有可以编译成其他几种语言的“元语言”?例如,CoffeeScript编译成Javascript.

如果您知道任何开源示例,那就太棒了!

感谢您的时间.

PS:不知道如何标记这个.随意编辑.

最佳答案 GCC将复杂的C代码转换为机器代码,因此从技术上讲,它是您问题的答案.事实上,有很多像这样的编译器,但我不认为这些是你想要问的.

有些工具硬连线只将一种语言翻译成另一种语言作为源代码(另一张海报建议使用“f2C”,这是一个完美的例子).这些就像编译器……但更罕见.

几乎没有工具可以从一种语言映射到许多其他语言,开箱即用.问题是语言具有不同的执行模型,数据类型和执行方案,这样的翻译者必须在目标语言中正确地模拟.
声称要执行此操作的是“代码生成器”,但它们主要是相当简单的函数的IMHO规范,这些函数可以简单地转换为目标语言中的简单代码.

如果您想以一种通用方式将一种语言翻译成另一种语言,则需要一个程序转换系统,例如,一个可以解析任意语言的系统,并且您可以为其提供映射到其他语言的转换规则.直截了当的方式.

我们的DMS Software Reengineering Toolkit就是其中之一. SO What kinds of patterns could I enforce on the code to make it easier to translate to another programming language?更详细地讨论了这些问题.

点赞