哪些解释器有哪些呢?哪些是解释器的重要性?
发表时间:2023-10-27 15:04:41
文章来源:炫佑科技
浏览次数:172
菏泽炫佑科技
哪些解释器有哪些呢?哪些是解释器的重要性?
了解您的代码在其他解释器下的执行情况可能会很有趣。
作为*流行的编程语言之一,它需要解释器来执行其代码定义的命令。 与其他可以直接编译成机器代码的语言不同,代码需要解释器来读取它并将其翻译给执行相关操作的CPU。 那么,有哪些口译员呢? 本文将介绍其中的几个。
口译员简介
当谈论解释器时,我们通常会想到二进制文件/usr/bin/。 它使您能够执行 .py 文件。 然而,解释只是等式的一部分。 代码在CPU真正执行之前,需要经过以下四个步骤:
词法分析 - 将人类编写的源代码转换为逻辑实体序列,称为词法标记。 解析 - 解析器检查词汇标记的语法和语义规则以生成抽象语法树(AST)。 编译 - 编译器从 AST 创建字节码,它由非常基本的、与平台无关的指令组成。 解释 - 解释器处理字节码并执行特定操作。
正如您所看到的,我们需要先完成这些步骤,然后才能采取任何实际行动。 这也解释了深入研究不同解释者的重要性。
1、
作为参考实现,许多系统默认使用它。 顾名思义,是用C语言编写的。 这也意味着我们可以用C语言编写扩展来开放广泛使用的C语言库代码。 广泛应用于各种平台,包括ARM和RISC。 然而,作为参考实现,它更注重精细优化而不是运行速度。
2、
是从解释器派生的一个分支,其中实现了性能优化。 该项目将自己定位为处理大型实际应用程序时标准解释器的替代品,有可能将工作速度提高高达 30%。 由于缺乏兼容的二进制包,下载过程中需要重新编译。
3.PyPy
PyPy 是使用即时 (JIT) 编译器(静态类型的子集)编写的。 与解释器不同,PyPy 编译源代码并生成可以直接由 CPU 执行的机器代码。 PyPy 是开发人员可以更轻松地测试新功能的实验室。
相比之下,PyPy 执行速度更快。 由于 JIT 编译器的性质,长时间运行的应用程序可以从缓存中获益更多。 PyPy 可以被认为是一个有效的替代方案。 虽然存在一些缺点,但 PyPy 中也支持大多数 C 扩展模块,但运行速度会相对较慢。 PyPy 扩展模块是用 C(而不是 C)编写的哪些解释器有哪些呢?哪些是解释器的重要性?,这使得 JIT 编译器能够优化它们。 只要你的应用程序不依赖于不兼容的模块,PyPy 就是理想的替代方案。你可以在项目官网找到专门的页面,详细描述了 PyPy 和之间的区别: PyPy and
4.
顾名思义,它是一个用 Rust 编写的解释器。 尽管 Rust 在今天仍然是一门相对年轻的编程语言,但它以其优秀的特性逐渐受到开发者的称赞自动化软件开发,甚至被视为 C 和 C++ 的可能继承者。 默认情况下,解释器的行为类似,但它也可以选择启用 JIT 编译器。 值得一提的是,Rust工具链可以直接编译,使得解释器可以完全在浏览器中运行。 您可以在此处查看其在线演示。
5.
声称是该编程语言的增强版本。 这个项目基本上是一个解释器的副产品,它向该语言添加了微线程、通道和调度程序。 微线程帮助您将代码组织成可以并行运行的“小任务”。 这类似于使用模块的绿色线程模型。 通道可以用作“小任务”之间的双向通信。 大型多人在线角色扮演游戏 Eve 是该游戏的知名用户之一。
6.微
如果您的目标平台是微控制器,这将是您的首选。 它是一个极简的实现,仅需要 16kB 内存和 256kB 存储空间。 由于主要针对嵌入式环境,STL的标准库只包含了丰富的STL的一部分。 对于开发和测试,或者作为轻量级替代方案,它还可以在常见的 x86 和 x64 系统上运行。 支持Linux、Linux及多种微控制器。
表现
从其设计来看,它本质上是一种运行速度不够快的语言。 根据任务的性质,不同口译员之间存在显着的性能差异。 要找出哪种解释器*适合特定任务,您可以参考。 使用解释器的另一种方法是将二进制代码直接编译为机器代码,例如,这样做的项目之一是将代码编译为 C 代码,然后将 C 代码通过常规 C 编译器编译为机器代码。 编译器的主题非常广泛,值得专门写一篇文章来详细介绍。
总结
它是构建快速原型和自动化任务的优秀语言,同时它易于学习且对初学者友好。 如果您继续使用它,尝试看看您的代码在另一个解释器上运行的样子可能会很有趣。 如果您是用户,您可以轻松测试其他几个解释器,因为它们的包管理器已经提供了所需的二进制文件。 您可以在 上找到更多信息。
(标题:MJ/-bd2b-4916-9f33-)
通过:
作者:选题:lkxed 译者:校对:wxy
本文由 LCTT 原创编译,Linux China 自豪推出