鸚鵡虛擬機器/內建 PMC
鸚鵡附帶了一些內建的 PMC 資料型別。這意味著這些標準型別始終可用。此頁面將用作這些 PMC 型別的參考。我們不會嘗試涵蓋專門為其他 HLL、庫或程式新增的所有 PMC 型別。(有關使用這些 PMC 型別以及定義新 PMC 型別的更多資訊,請參見鸚鵡虛擬機器/多型容器 (PMC)章節)。
此列表中的條目應 (A) 包含指向相關 PMC 文件的連結,以及 (B) 提供 PMC 及其方法的簡要概述。
一個簡單的陣列類,作為其他陣列 PMC 的基類。這種型別的 PMC 很少直接使用。相反,更通用的陣列 PMC 型別,如 ResizablePMCArray,被使用。Array 指定了所有其他 Array 類必須共享的介面。它還提供了一些其他類陣列 PMC 可能預設的預設值。
用於儲存任意大數或具有任意精度的數的 PMC 型別。目前尚未實現。
一個布林 True/False PMC。
特定語言的編譯器 PMC。可用於將 HLL 轉換為 PIR,最終轉換為 Parrot 位元組碼。
用於複數的 PMC。
Continuation PMC 允許 Parrot 對系統的當前狀態進行快照,以便稍後返回。
實現協程的類似子程式的 PMC。
允許以雜湊的形式訪問系統環境變數。
Exception PMC 儲存有關係統錯誤的資訊,用於恢復。
一個類似子程式的例程,用於捕獲和解決異常。
一個用於檔案的讀寫介面。
一個固定大小的布林值陣列。
一個固定大小的 FLOATVAL 浮點數陣列。
一個固定大小的 PMC 值陣列。
一個固定大小的 STRING 值陣列。
一個浮點數 PMC。與 FLOATVAL 的用法類似,但擁有方法和虛表方法。FLOATVAL 在提升為 PMC 時將變為 Float PMC。
雜湊,也稱為“字典”或“關聯陣列”。類似陣列,但索引使用字串而不是整數。
一個基本的整數 PMC。與 INTVAL 的用法類似,但擁有方法和虛表方法。INTVAL 在提升為 PMC 時將變為 Integer PMC。
一個簡單的整數列表或陣列。
Iterator PMC 提供一個有狀態的計數器,使您可以一次遍歷一個數組類中的專案。
一個值,通常是一個字串,用於在雜湊中查詢值。
一個低階結構,其記憶體由 Parrot 自動分配和釋放。擴充套件 UnManagedStruct,但增加了自動記憶體收集功能。
一個包含相同名稱的子程式的集合。在多方法分派 (MMD) 中,呼叫的函式引數決定從集合中呼叫哪個子程式。
實現 Parrot 名稱空間。包含有關儲存在該名稱空間中的變數、子程式、協程和 MultiSubs 的資訊。
一個本地呼叫函式 PMC。儲存對用 C 編寫的函式的介面資訊。
一個具有 NUL 值的 PMC。
一個將鍵 PMC 與值 PMC 關聯起來的結構。雜湊表通常實現為 Pair PMC 的陣列。
直譯器結構的介面。
控制檯的讀寫介面。
動態載入的庫物件。
一個儲存執行緒資訊的 PMC。
一個用於儲存布林值的可調整大小的陣列。
一個用於儲存浮點值的可調整大小的陣列。
一個用於儲存整數值的可調整大小的陣列。
一個用於儲存 PMC 值的可調整大小的陣列。
一個用於儲存字串的可調整大小的陣列。
一個返回延續。類似於常規的 Continuation PMC,但只能使用一次。可以使用 Clone vtable 方法提升為 Continuation。
一個類的抽象角色或介面。指定類的操作和屬性,但不能例項化。
用於儲存字串值的 PMC。類似於 STRING 值,但具有方法和 vtable 方法。STRINGS 在提升為 PMC 時會變成 String PMC。
Parrot 子例程。實現基本的子例程(在 PIR 中使用 sub 命令),但也用作更復雜子例程類別的基類。
父級 PMC 類,用於支援多重繼承。
一個沒有可用型別的未定義 PMC。
程式設計師必須手動管理的低階結構。Parrot 不會自動收集為結構分配的記憶體。