最佳答案
我正着手做一个副项目,其目标是将代码从一种编程语言翻译成另一种编程语言。我开始使用的语言是 PHP 和 Python (Python 到 PHP 应该更容易开始使用) ,但理想情况下,我可以轻松地添加其他语言。计划是:
这是面向网络开发的。原始代码和目标代码将位于框架之上(我也将不得不编写框架)。这些框架将采用 MVC 设计模式并遵循严格的编码约定。这应该会使翻译变得容易一些。
我也关注国际奥委会和依赖注入,因为它们可能会使翻译过程更容易,更不容易出错。
我将利用 Python 的 解析器模块,它可以让我摆弄抽象语法树。显然,我可以得到与 PHP 最接近的是 Token _ get _ all (),这是一个开始。
从那时起,我可以建立 AST,符号表和控制流程。
然后我相信我可以开始输出代码。我不需要完美的翻译.我仍然必须检查生成的代码并修复问题。理想情况下,译者应该标记有问题的翻译。
在你问“这到底有什么意义”之前答案是... 这将是一次有趣的学习经历。如果你有任何关于如何使这个不那么令人畏惧的见解,请让我知道。
我更感兴趣的是了解我可以在代码上加强哪些类型的模式,以使其更容易翻译(例如: IoC,SOA?)代码比如何做翻译。