PMCs are Parrot's internal "classes". There are currently 5 abstract PMCs and 67 concrete PMCs.

Tools ^

PMC-related tools.

classes/genclass.pl
Create a template PMC file.

classes/pmc2c.pl
PMC compiler (Old Version).

classes/pmc2c2.pl
PMC compiler (Version 2).

Abstract PMCs ^

These PMCs are not instantiated.

classes/default.pmc
Abstract root class.

classes/deleg_pmc.pmc
Delegate PMC.

classes/delegate.pmc
Delegate PMC.

classes/perlscalar.pmc
Perl Scalar.

classes/scalar.pmc
Scalar Abstract Superclass.

Concrete PMCs ^

These PMCs are instantiated.

classes/array.pmc
Array PMC.

classes/bigint.pmc
BigInt PMC class.

classes/boolean.pmc
Boolean PMC.

classes/closure.pmc
Closure PMC.

classes/compiler.pmc
Compiler PMC.

classes/complex.pmc
Complex Numbers PMC Class.

classes/continuation.pmc
Continuation PMC.

classes/coroutine.pmc
Co-Routine PMC.

classes/csub.pmc
C Subroutine PMC.

classes/enumerate.pmc
enumerate PMC.

classes/env.pmc
System Environment.

classes/eval.pmc
Dynamic code evaluation.

classes/exception.pmc
Exception PMC.

classes/exception_handler.pmc
Exception Handler PMC.

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

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

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

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

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

classes/float.pmc
Floating-point number.

classes/floatvalarray.pmc
Array of FLOATVALs.

classes/integer.pmc
Integer PMC class.

classes/intlist.pmc
Array of integers.

classes/iterator.pmc
Iterator PMC.

classes/key.pmc
Key PMC.

classes/managedstruct.pmc

classes/multiarray.pmc
Multi-dimensional Array.

classes/nci.pmc
Naitive Call Interface.

classes/none.pmc
NULL.

classes/null.pmc
NULL.

classes/orderedhash.pmc
Ordered Hash.

classes/parrotclass.pmc
Parrot Class.

classes/parrotinterpreter.pmc
Parrot Interpreter.

classes/parrotio.pmc
Parrot IO.

classes/parrotlibrary.pmc
Dynamic Library.

classes/parrotobject.pmc
Parrot Object.

classes/parrotthread.pmc
Threaded Interpreter.

classes/perlarray.pmc
Perl Array.

classes/perlenv.pmc
Perl System Environment.

classes/perlhash.pmc
Perl Hash.

classes/perlint.pmc
Perl Integer.

classes/perlnum.pmc
Perl Floating-Point Number.

classes/perlstring.pmc
Perl String.

classes/perlundef.pmc
Perl Undef.

classes/pmcarray.pmc
PMC-only array class.

classes/pointer.pmc
Pointer.

classes/random.pmc
Random Numbers.

classes/ref.pmc
Reference to a PMC.

classes/resizablebooleanarray.pmc
resizable size array for booleans only.

classes/resizablefloatarray.pmc
resizable size array for floating point.

classes/resizableintegerarray.pmc
resizable size array for integers only.

classes/resizablepmcarray.pmc
resizable size array for PMCs only.

classes/resizablestringarray.pmc
resizable size array for strings only.

classes/retcontinuation.pmc
Return Continuation.

classes/sarray.pmc
Subroutine Parameter Array.

classes/scratchpad.pmc
Lexical Scrachpad.

classes/sharedref.pmc
Shared PMC Reference.

classes/slice.pmc
Slice PMC.

classes/string.pmc
String PMC Class.

classes/stringarray.pmc
String-only array class.

classes/sub.pmc
Subroutine.

classes/timer.pmc
Timer.

classes/tqueue.pmc
Threadsafe Queue.

classes/undef.pmc
Generic undefined value.

classes/unmanagedstruct.pmc
C struct with unmanaged memory.

classes/version.pmc
Version information.

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


parrot