在我的新工作中,更多的人使用
Python而不是Perl,我有一个非常有用的API,我写的是自己,我想在Python中提供给我的同事.
我认为将Perl代码编译成Python代码的编译器对于这样的任务将是非常有用的.在尝试编写解析Perl的东西之前(或至少是我用于定义我的API的Perl的子集),我从咨询公司发现了bridgekeeper.
让我咨询顾问来翻译这个API几乎肯定不值钱,但这是一个非常有趣的工具.
有没有人知道一个编译器将解析(或尝试解析)Perl5代码并将其编译成Python?如果没有这样的事情,我应该如何开始编写一个简单的编译器来解析我的面向对象的Perl代码并将其转换成Python?有没有ANTLR或YACC语法,我可以用来作为起点?
编辑:我发现perl.y,这可能是一个起点,如果我要滚动我自己的编译器.
解决方法
詹姆士,
我建议您在Python中重写该模块,原因如下:
>解析Perl是DARN HARD.除非这是一个重要和可取的锻炼,否则你会发现自己在翻译上花更多的时间,而不是在有用的工作上.>通过重写,你将有很大的机会练习Python.学习最好通过做,做一个任务,你真正需要做的是一个伟大的福音.>最后,Python和Perl的理念截然不同.要获得更多的Pythonic API,最好在Python中重写它.