PMCs are Parrot's internal "classes". There are currently 4 abstract PMCs and 77 concrete PMCs.

Tools ^

PMC-related tools.

tools/dev/gen_class.pl
Create a template PMC file.

Abstract PMCs ^

These PMCs are not instantiated.

src/pmc/default.pmc
Abstract root class.

src/pmc/deleg_pmc.pmc
Delegate PMC.

src/pmc/delegate.pmc
Delegate PMC.

src/pmc/scalar.pmc
Scalar Abstract Superclass.

Concrete PMCs ^

These PMCs are instantiated.

src/pmc/addrregistry.pmc
A DOD Registry PMC.

src/pmc/array.pmc
Array PMC.

src/pmc/bigint.pmc
BigInt PMC class.

src/pmc/boolean.pmc
Boolean PMC.

src/pmc/bound_nci.pmc
Bound internal method.

src/pmc/capture.pmc
Capture PMC.

src/pmc/class.pmc
defines a class.

src/pmc/closure.pmc
Closure PMC.

src/pmc/codestring.pmc
CodeString PMC Class.

src/pmc/compiler.pmc
Compiler PMC.

src/pmc/complex.pmc
Complex Numbers PMC Class.

src/pmc/continuation.pmc
Continuation PMC.

src/pmc/coroutine.pmc
Co-Routine PMC.

src/pmc/enumerate.pmc
enumerate PMC.

src/pmc/env.pmc
System Environment.

src/pmc/eval.pmc
Dynamic code evaluation.

src/pmc/exception.pmc
Exception PMC.

src/pmc/exception_handler.pmc
Exception Handler PMC.

src/pmc/exporter.pmc
Export globals from one namespace to another.

src/pmc/file.pmc
File PMC.

src/pmc/fixedbooleanarray.pmc
fixed size array for booleans only.

src/pmc/fixedfloatarray.pmc
fixed size array for floating point numbers only.

src/pmc/fixedintegerarray.pmc
fixed size array for integers only.

src/pmc/fixedpmcarray.pmc
fixed size array for PMCs only.

src/pmc/fixedstringarray.pmc
fixed size array for strings only.

src/pmc/float.pmc
Floating-point number.

src/pmc/hash.pmc
Hash PMC.

src/pmc/integer.pmc
Integer PMC class.

src/pmc/intlist.pmc
Array of integers.

src/pmc/iterator.pmc
Iterator PMC.

src/pmc/key.pmc
Key PMC.

src/pmc/lexinfo.pmc
LexInfo PMC.

src/pmc/lexpad.pmc
LexPad PMC.

src/pmc/managedstruct.pmc

src/pmc/multiarray.pmc
Multi-dimensional Array.

src/pmc/multisub.pmc
A container for multi-dispatched subs.

src/pmc/namespace.pmc
NameSpace PMC.

src/pmc/nci.pmc
Native Call Interface.

src/pmc/null.pmc
NULL.

src/pmc/object.pmc
An instance of a class.

src/pmc/orderedhash.pmc
Ordered Hash.

src/pmc/os.pmc
Files and Directories PMC.

src/pmc/pair.pmc
Pair PMC.

src/pmc/parrotclass.pmc
Parrot Class.

src/pmc/parrotinterpreter.pmc
Parrot Interpreter.

src/pmc/parrotio.pmc
Parrot IO.

src/pmc/parrotlibrary.pmc
Dynamic Library.

src/pmc/parrotobject.pmc
Parrot Object.

src/pmc/parrotrunningthread.pmc
Represents a running Parrot Thread.

src/pmc/parrotthread.pmc
Threaded Interpreter.

src/pmc/pccmethod_test.pmc
PCCMETHOD_Test PMC.

src/pmc/pmcproxy.pmc
proxy class object for a PMC enabling introspection.

src/pmc/pointer.pmc
Pointer.

src/pmc/random.pmc
Random Numbers.

src/pmc/ref.pmc
Reference to a PMC.

src/pmc/resizablebooleanarray.pmc
resizable array for booleans only.

src/pmc/resizablefloatarray.pmc
resizable array for floating point.

src/pmc/resizableintegerarray.pmc
resizable array for integers only.

src/pmc/resizablepmcarray.pmc
resizable array for PMCs only.

src/pmc/resizablestringarray.pmc
resizable array for strings only.

src/pmc/retcontinuation.pmc
Return Continuation.

src/pmc/role.pmc
Role - defines a role.

src/pmc/sarray.pmc
Simple Array or Subroutine Parameter Array.

src/pmc/sharedref.pmc
Shared PMC Reference.

src/pmc/slice.pmc
Slice PMC.

src/pmc/stmlog.pmc
Holds a transaction log that can be replayed.

src/pmc/stmref.pmc
STM-capable Reference to a PMC.

src/pmc/stmvar.pmc
A transactional variable.

src/pmc/string.pmc
String PMC Class.

src/pmc/sub.pmc
Subroutine.

src/pmc/super.pmc
Super Class.

src/pmc/timer.pmc
Timer.

src/pmc/tqueue.pmc
Threadsafe Queue.

src/pmc/undef.pmc
Generic undefined value.

src/pmc/unmanagedstruct.pmc
C struct with unmanaged memory.

src/pmc/version.pmc
Version information.

src/pmc/vtablecache.pmc
Hold a vtable pointer for later use.


parrot