- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Parrot 是最初为 Perl 6 设计的虚拟机。
Parrot VM 提供了哪些技术功能可与竞争虚拟机(例如 Java Virtual Machine (JVM))相媲美。/Hotspot VM和 Common Language Runtime (CLR)缺少?
最佳答案
以下答案写于 2009 年。另见此 2015 update by raiph .
为了扩展@Reed 并指出一些亮点,Parrot 的操作码远高于大多数虚拟机。例如,虽然大多数机器存储整数和浮点数,但基本寄存器是整数、数字、字符串和 Parrot Magic Cookie (PMC)。仅仅内置字符串是 JVM 的一个进步。
更有趣的是 PMC,有点像 JVM 的对象类型,但更具有可替代性。 PMC 是 all the other more complicated types 的容器你需要像数组、表、树、迭代器、I/O 等真正的语言。 PMC 和各种各样的内置操作意味着语言编写者的工作更少。 Parrot 并不回避实现语言的杂乱但必要的部分。
我的信息可能已过时,但我相信操作码是可插入的,您可以发布仅包含您的语言所需操作码的 Parrot VM。它们也将是可继承的,如果您的语言希望它们的数组与普通 Parrot 数组的工作方式略有不同,您可以将其子类化。
最后,Parrot 不仅可以用于汇编程序( PASM ),还可以用于稍微高级的语言, Parrot Intermediate Representation (PIR) . PIR 具有循环、子例程、局部变量和一些基本的数学运算和比较操作,这些都是人们在编程语言中期望的所有基础知识,而且不会离金属太远。
总而言之,Parrot 对希望 的语言设计者(由他们编写并为他们编写)非常友好。设计语言 并将尽可能多的实现留给其他人。
关于jvm - Parrot 与其他虚拟机相比如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1811048/
是否有可以构建 Parrot 虚拟机的操作系统列表?我宁愿不通过每个版本的发行说明来弄明白。 最佳答案 更好的问题是,您对哪些操作系统感兴趣? 我们过去常常保持 PLATFORMS 文档是最新的,但最
我正在寻找在 Parrot 上开发的解决方案设备。我对任何 SDK 或开发人员工具的存在感兴趣。我可以简单地将我的 Android 应用程序安装到设备上吗?我应该修改源代码以在 Parrot 设备上运
Parrot 是最初为 Perl 6 设计的虚拟机。 Parrot VM 提供了哪些技术功能可与竞争虚拟机(例如 Java Virtual Machine (JVM))相媲美。/Hotspot VM和
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
我已经关注了Parrot了一段时间。我了解这是一个虚拟机,旨在运行各种动态语言并允许一定程度的互操作性(例如,从Python脚本调用Perl函数)。因此,我的问题分为两个部分: 鹦鹉可用于一般用途吗?
我们有一个关于 Java 类介绍的作业,要求我们对鹦鹉进行编程。 基本上我们有一个输出“你想说什么? 用户输入他的输入“巴拉巴拉巴拉” 然后鹦鹉应该重复 “巴拉巴拉巴拉” 我已经实现了这一目标。 pa
我想知道 Parrot MiniDrone Rolling Spider 是否可以使用 python 作为主要开发语言进行编程?我可以使用他们的任何 SDK 来实现这一目标吗? 最佳答案 它是可编程的
Parrot Virtual Machine 有什么好处?对于最终用户(软件开发人员)? 例如,如果我可以直接针对 Perl 或 Python 进行编程,我为什么还要在 Parrot 下为它们编程呢?
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
如果我已经有了解释器,为什么还要使用 VM,比如 Parrot,作为我使用的动态语言(Python、Perl 等)?对于在我的代码和我的机器之间使用不同的 VM 以及使用单独的解释器的成本,我可以获得
我刚刚看到有一个 Ruby 到 Parrot编译器调用 Cardinal ,它可以创建在 Parrot 上运行的代码,这是一个可以运行字节码的虚拟机。 Ruby 或任何语言的性能如何编译并在那里运行,
我使用 Parrot 操作系统。正如我发现的那样,strace 是一个基本软件包,我可以通过 apt-get install strace 安装它。但我刚刚得到 Reading package lis
我的蓝牙耳机 (Parrot B350-XT) 有 4 个按钮: 调高音量 调低音量 电源按钮 “鹦鹉”按钮 我正在创建一个在三星 SM-T230NU 上运行的 Android 应用程序 (OS 4.
我正在使用 node.js 和 node-ar-drone 对我的 AR.Drone 2.0 进行编程,以在室内执行一些基本的飞行操作。据我所知,无人机似乎永远不会直线飞行。无论我从哪里设置起飞点,它
开发某些语言有什么问题,例如使用某些 LLVM/Parrot 的一些优化技术的 Python。 PyPy、LLVM、Parrot 是通用平台开发的主要技术。 我看到这样的: PyPy - 使用为 py
我已经搜索并找到了 VirtualBox Guest Addons 修复程序,但这对我不起作用。每次我在 VirtualBox 设置和/或 Parrot Security 中的显示设置中调整窗口大小时
Linux Parrot . 我尝试安装Heroku : sudo add-apt-repository "deb https://cli-assets.heroku.com/branches/sta
我想问一件事。我想延迟在 parrot AR Drone 2.0 上读取 navData。您能举例说明如何将间隔添加到我的导航数据读取中吗?我需要做什么,如果我想构建实时图表,有人可以提供教程链接吗?
是否可以在任何其他 Parrot (LLVM) 语言中使用用一种 Parrot (LLVM) 语言编写的框架? (就像从任何 CLR 语言使用 .NET Framework 一样)... 最佳答案 P
我目前正在用 opencv 的 c++ api 构建一个纹理分类器。我一直在寻找使用它来识别纹理并理想地帮助 parot ar 无人机 2.0 导航到特定纹理。我找到了关于 Node 直升机及其 op
我是一名优秀的程序员,十分优秀!