社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

David Thornley

David Thornley 最近创建的主题
David Thornley 最近回复了
14 年前
回复了 David Thornley 创建的主题 » 为什么不可能创建一个实用的Perl-to-python源代码转换器?

从根本上讲,这是两种不同的语言。从一个转换到另一个,并且结果大部分是可读的,这意味着软件必须能够识别和生成代码习语,并且能够进行一些静态分析。

一个程序的意义可以由语言定义精确地定义,但是程序员不一定需要所有的细节。C程序员测试值A printf() 返回的is负数是检查错误条件,通常不关心确切的值。 if (printf("%s","...") < 0) exit(); 可以翻译成Perl print "..." or die(); . 这些语句的含义可能并不完全相同,但它们通常是程序员的意思,为了从惯用Perl或C代码创建惯用C或Perl代码,转换器必须考虑到这一点。

由于不同的计算机语言对于相似的事物有着不同的语义,所以通常不可能将一种语言翻译成另一种语言,并以可读的形式给出完全相同的含义。为了创建可读的代码,翻译器需要理解程序员打算做什么,这是非常困难的。

此外,从python转换为perl比从perl转换为python更容易。python是一种直截了当的语言,有明确的标准方法来做事情,而perl是一种过于复杂的语言,它的座右铭是“有不止一种方法可以做到这一点”。将python表达式转换为无数个对应的perl表达式之一比弄清perl程序员的意思和表达在蟒蛇中。