加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl是编译或解释的编程语言吗?

发布时间:2020-12-15 21:19:31 所属栏目:大数据 来源:网络整理
导读:是Perl编译还是解释? 解决方法 那么这取决于编译语言的意思。也许这就是为什么谷歌搜索并没有给你一个明确的答案你的问题。 一个观点是编译意味着从源代码描述到另一个编译,即code generation。 如果我们接受这些处理,那么可以编译Perl 6,Perl 5和更早版
是Perl编译还是解释?

解决方法

那么这取决于编译语言的意思。也许这就是为什么谷歌搜索并没有给你一个明确的答案你的问题。

一个观点是编译意味着从源代码描述到另一个编译,即code generation。

如果我们接受这些处理,那么可以编译Perl 6,Perl 5和更早版本是解释语言。

Perl 6专门编译为Parrot bytecode.因此,Perl 6是一个正确编译的语言,与Java is相同。

Perl 5及更早的解析器将Perl源代码解析为内部列表或树,但我认为除了理论上可能不应该称之为正确的编译器。它不输出通常与编译器相关联的任何字节码,程序集或实际机器代码。 Perl的解析阶段检查Perl语法以前被称为“编译”源。它用于检查Perl源文件的语法有效性,而不运行它。

它被调用为:

perl -c myprog.pl

但是,如果您查看Perl选项的帮助,-c实际上代表“检查”。

-c                check syntax only (runs BEGIN and CHECK blocks)

(为了进一步使事情变得复杂,Perl 5支持写入内部字节码,但是是removed in version 5.10.推测是因为它是错误的,我不知道。)

另一方面,如果您认为编译是将源代码树解析为任何其他类型的表示,那么解析使Perl成为一种编译语言。 Perl必须完全解析源文件才能开始执行它。通过该定义,任何可以在解析之前立即开始执行源文件的语言将是解释语言。

第三种方式是从这个领域的专业人士常常使用这些词语“解释”和“编译”。我会打赌好钱,如果在考虑Perl时要求程序员随机选择“编译”或“解释”,大多数选择“解释”。不是因为一些关于Perl性质的理论论据,而是因为“编译”通常会引用“编译”,“链接”,“目标代码”等的思想,而“解释”则被认为是“编写代码” ”。对或错,当尝试确定Perl是否真的被解释或实际编译时,这可能很好。你将在你的任务中遇到很多争论。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读