我被要求编写一个代码转换器,它将采用Python程序并生成一个C程序.你有什么想法我怎么能解决这个问题,甚至可能?
如果存在一个自动将Perl代码转换为Python代码的程序,那么这将是很好的,这使得生成的Python程序可以像原始代码一样可读和可维护,更不用说以相同的方式工作了.
最明显的解决方案是perl通过Python utils 调用:
#!/usr/bin/python
os.exec("tail -n -2 "+__file__+" | perl -")
...the rest of file is the original perl program...
Run Code Online (Sandbox Code Playgroud)
但是,结果代码几乎不是Python代码,它本质上是一个Perl代码.潜在的转换器应该将Perl结构和习语转换为易于阅读的Python代码,它应该保留变量和子程序名称(即结果不应该看起来模糊)并且不应该过多地破坏wrokflow.
这样的转换显然非常困难.转换的硬度取决于Perl特性和语法结构的数量,这些特征和语法结构没有易于阅读,未经过混淆的Python等价物.我相信大量的这样的特征使得这种自动转换实际上是不可能的 (理论上存在可能性).
那么,您能否将Perl惯用语和语法功能命名为无法在Python中表达为原始Perl代码中的简洁?
编辑:有些人将Python-to-Perl召集人联系起来,并在此基础上推断出,编写Perl-to-Python也应该很容易.不过,我敢肯定,转换到Python是在更大的需求; 仍然没有写这个转换器 - 而反过来已经!这让我对不可能为Python编写好的转换器更加坚定.