跳转到内容

鹦鹉虚拟机/内置 PMC

来自维基教科书,开放的书籍,开放的世界

内置 PMC

[编辑 | 编辑源代码]

鹦鹉附带了一些内置的 PMC 数据类型。这意味着这些标准类型始终可用。此页面将用作这些 PMC 类型的参考。我们不会尝试涵盖专门为其他 HLL、库或程序添加的所有 PMC 类型。(有关使用这些 PMC 类型以及定义新 PMC 类型的更多信息,请参见鹦鹉虚拟机/多态容器 (PMC)章节)。

此列表中的条目应 (A) 包含指向相关 PMC 文档的链接,以及 (B) 提供 PMC 及其方法的简要概述。

AddrRegistry

[编辑 | 编辑源代码]

一个简单的数组类,作为其他数组 PMC 的基类。这种类型的 PMC 很少直接使用。相反,更通用的数组 PMC 类型,如 ResizablePMCArray,被使用。Array 指定了所有其他 Array 类必须共享的接口。它还提供了一些其他类数组 PMC 可能默认的默认值。

用于存储任意大数或具有任意精度的数的 PMC 类型。目前尚未实现。

一个布尔 True/False PMC。

Bound_NCI

[编辑 | 编辑源代码]

特定语言的编译器 PMC。可用于将 HLL 转换为 PIR,最终转换为 Parrot 字节码。

用于复数的 PMC。

Continuation

[编辑 | 编辑源代码]

Continuation PMC 允许 Parrot 对系统的当前状态进行快照,以便稍后返回。

Coroutine

[编辑 | 编辑源代码]

实现协程的类似子程序的 PMC。

Deleg_PMC

[编辑 | 编辑源代码]

Enumerate

[编辑 | 编辑源代码]

允许以哈希的形式访问系统环境变量。

Exception

[编辑 | 编辑源代码]

Exception PMC 保存有关系统错误的信息,用于恢复。

Exception_Handler

[编辑 | 编辑源代码]

一个类似子程序的例程,用于捕获和解决异常。

一个用于文件的读写接口。

FixedBooleanArray

[编辑 | 编辑源代码]

一个固定大小的布尔值数组。

FixedFloatArray

[编辑 | 编辑源代码]

一个固定大小的 FLOATVAL 浮点数数组。

FixedPMCArray

[编辑 | 编辑源代码]

一个固定大小的 PMC 值数组。

FixedStringArray

[编辑 | 编辑源代码]

一个固定大小的 STRING 值数组。

一个浮点数 PMC。与 FLOATVAL 的用法类似,但拥有方法和虚表方法。FLOATVAL 在提升为 PMC 时将变为 Float PMC。

哈希,也称为“字典”或“关联数组”。类似数组,但索引使用字符串而不是整数。

一个基本的整数 PMC。与 INTVAL 的用法类似,但拥有方法和虚表方法。INTVAL 在提升为 PMC 时将变为 Integer PMC。

一个简单的整数列表或数组。

Iterator PMC 提供一个有状态的计数器,使您可以一次遍历一个数组类中的项目。

一个值,通常是一个字符串,用于在哈希中查找值。

ManagedStruct

[编辑 | 编辑源代码]

一个低级结构,其内存由 Parrot 自动分配和释放。扩展 UnManagedStruct,但增加了自动内存收集功能。

MultiArray

[编辑 | 编辑源代码]

一个包含相同名称的子程序的集合。在多方法分派 (MMD) 中,调用的函数参数决定从集合中调用哪个子程序。

Namespace

[编辑 | 编辑源代码]

实现 Parrot 命名空间。包含有关存储在该命名空间中的变量、子程序、协程和 MultiSubs 的信息。

一个本地调用函数 PMC。存储对用 C 编写的函数的接口信息。

一个具有 NUL 值的 PMC。

有序哈希表

[编辑 | 编辑源代码]

操作系统

[编辑 | 编辑源代码]

键值对

[编辑 | 编辑源代码]

一个将键 PMC 与值 PMC 关联起来的结构。哈希表通常实现为 Pair PMC 的数组。

鹦鹉类

[编辑 | 编辑源代码]

鹦鹉解释器

[编辑 | 编辑源代码]

解释器结构的接口。

控制台的读写接口。

鹦鹉库

[编辑 | 编辑源代码]

动态加载的库对象。

鹦鹉对象

[编辑 | 编辑源代码]

鹦鹉运行线程

[编辑 | 编辑源代码]

鹦鹉线程

[编辑 | 编辑源代码]

一个存储线程信息的 PMC。

Pmethod_test

[编辑 | 编辑源代码]

随机数

[编辑 | 编辑源代码]

可调整大小的布尔数组

[编辑 | 编辑源代码]

一个用于存储布尔值的可调整大小的数组。

可调整大小的浮点数组

[编辑 | 编辑源代码]

一个用于存储浮点值的可调整大小的数组。

可调整大小的整数数组

[编辑 | 编辑源代码]

一个用于存储整数值的可调整大小的数组。

可调整大小的 PMC 数组

[编辑 | 编辑源代码]

一个用于存储 PMC 值的可调整大小的数组。

可调整大小的字符串数组

[编辑 | 编辑源代码]

一个用于存储字符串的可调整大小的数组。

返回延续

[编辑 | 编辑源代码]

一个返回延续。类似于常规的 Continuation PMC,但只能使用一次。可以使用 Clone vtable 方法提升为 Continuation。

一个类的抽象角色或接口。指定类的操作和属性,但不能实例化。

共享引用

[编辑 | 编辑源代码]

SMOP_Attribute

[编辑 | 编辑源代码]

SMOP_Class

[编辑 | 编辑源代码]

用于存储字符串值的 PMC。类似于 STRING 值,但具有方法和 vtable 方法。STRINGS 在提升为 PMC 时会变成 String PMC。

Parrot 子例程。实现基本的子例程(在 PIR 中使用 sub 命令),但也用作更复杂子例程类别的基类。

父级 PMC 类,用于支持多重继承。

一个没有可用类型的未定义 PMC。

UnamangedStruct

[编辑 | 编辑源代码]

程序员必须手动管理的低级结构。Parrot 不会自动收集为结构分配的内存。

VtableCache

[编辑 | 编辑源代码]
上一个 鹦鹉虚拟机 下一个
命令行选项 字节码文件格式
华夏公益教科书