![]() |
1
17
只需在这里的其他一些列表上进行扩展,这些Perl构造在Python中可能非常笨拙(如果可能的话)。
这个列表一直持续下去,有人可以尝试在所有类似的构造之间创建一个映射,但最终它会因为一个简单的原因而失败。 无法静态分析Perl。Perl代码中的定义(尤其是begin块中的定义)改变了编译器解释剩余代码的方式。因此,对于非琐碎的程序,从perl=>python进行转换会遇到停止问题。 在程序完成运行之前,无法确切地知道如何编译所有程序,并且理论上可以创建一个Perl程序,该程序每次运行时都会进行不同的编译。这意味着一个Perl程序可以映射到无限多的python程序,正确的方法只有在Perl解释器中运行原始程序之后才能知道。 |
![]() |
2
34
你最好的Perl-to-python转换器大概23岁,刚从大学毕业,正在找工作。 |
![]() |
3
25
为什么Perl不是Python。
一个2的例子就足够了。 Perl:
哪里有东西? 任何 任何形式的声明。
要自动将其转换为python,必须将
其中比较常见的公式 珀尔
会变成这样,使用简单的——不思考的——源代码的翻译
当然, 珀尔
更复杂的是转换成python。 和 珀尔
真的很有说服力。我的Perl已经生锈了,所以我记不起这种东西的精确语义。但是您必须完全理解语义才能计算出一个pythonic实现。 python示例不是 好的 蟒蛇。写 好的 python需要“思考”,这是自动翻译无法做到的。 每一个Perl构造都必须像那样被“包装”,以便把最初的Perl语义变成一种pythonic形式。 现在,对 每一个 Perl的特性。 |
![]() |
4
7
这不是不可能的,只需要做很多工作。 顺便问一下,有 Perthon 一个python到perl的转换程序。似乎没人愿意做一个走另一条路的人。 编辑:我想我可能已经找到了为什么从Python到Perl的转换器更容易实现的原因。这是因为python允许您处理脚本的ast。见 parser module. |
![]() |
5
5
在编译Perl代码的过程中,可以通过实验构建Perl来收集额外的信息(例如,注释),甚至可以将结果作为XML发出。除了以下情况外,似乎没有任何有关此问题的文档: http://search.cpan.org/perldoc/perl5100delta#MAD 这将有助于构建一个翻译程序。我希望你能很容易地得到80%的路,95%的路非常困难,而且永远不会比这更好。有太多的东西不能很好地映射。 |
![]() |
6
5
从根本上讲,这是两种不同的语言。从一个转换到另一个,并且结果大部分是可读的,这意味着软件必须能够识别和生成代码习语,并且能够进行一些静态分析。
一个程序的意义可以由语言定义精确地定义,但是程序员不一定需要所有的细节。C程序员测试值A
由于不同的计算机语言对于相似的事物有着不同的语义,所以通常不可能将一种语言翻译成另一种语言,并以可读的形式给出完全相同的含义。为了创建可读的代码,翻译器需要理解程序员打算做什么,这是非常困难的。 此外,从python转换为perl比从perl转换为python更容易。python是一种直截了当的语言,有明确的标准方法来做事情,而perl是一种过于复杂的语言,它的座右铭是“有不止一种方法可以做到这一点”。将python表达式转换为无数个对应的perl表达式之一比弄清perl程序员的意思和表达在蟒蛇中。 |
![]() |
7
3
我确实认为一个非常聪明的人可以静态地分析大量的Perl并生成一个程序,该程序使用小型Perl程序并输出执行相同任务的Python程序。 我更怀疑大型和/或粗糙的Perl翻译的可行性。我们中的一些人有时会写一些非常奇怪的代码……:) |
![]() |
8
2
这是不可能的,因为您甚至不能正确地解析Perl代码。见 Perl Cannot Be Parsed: A Formal Proof 了解更多详细信息。 |
![]() |
9
1
这个
这个问题的困难,因为 任何 这对语言,是由于所讨论语言的本质上的根本性差异,例如运行时语义和公共习语,更不用说库了。 |
![]() |
10
1
从一种高级语言到另一种高级语言几乎不可能创建通用翻译程序,原因是程序只描述 同质光波导 (这是源代码中注释的原因)。 为了用另一种高级语言创建一个有意义的程序,你(或翻译程序)需要知道 为什么? 能够创建最好的程序。如果您不能做到这一点,那么您所能做的就是为Perl程序的编译版本创建一个Python解释器。 换句话说,要正确地完成这项工作,你需要走出盒子,这对于计算机来说是非常困难的。 |
![]() |
11
0
|
![]() |
Manny · 如何比较Perl中的字符串? 2 年前 |
![]() |
BioRod · 我不能用Perl打印键和值 2 年前 |
![]() |
user17227456 · Perl CLI代码无法追加字符串行 2 年前 |
![]() |
LearnToBeBetter · 读取文件,搜索字符串,打印字符串 3 年前 |
![]() |
KJ7LNW · 一些波斯语文本的宽字符印刷,但其他文本则没有 3 年前 |
![]() |
con · 如何搜索大型数据结构并返回一系列给出特定值的键/数组? 3 年前 |
![]() |
Pranay Nanda · 使用regex解析许可证文件 7 年前 |