| parrotcode: Parrot Interpreter | |
| Contents | PMCs |

classes/parrotinterpreter.pmc - Parrot Interpreter

These are the vtable functions for the ParrotInterpreter base class
getinterp P0
set P1, P0[.IGLOBALS_*] # access interpreter globals
set I0, P0[x] # interpinfo I0, x
set I0, P0[-1] # get interpreter flags
set P0[-1], x # set flags on interpreter
# NOTE: this doesn't restart

void clone_interpreter(PMC *dest, PMC *self)static void create_interp(PMC *self, Parrot_Interp parent)parent.
void class_init()void init()void init_pmc(PMC *parent)*parent.void set_pointer(void *value)struct_val to *value.void *get_pointer()struct_val.INTVAL get_integer()void *invoke(void *next)PMC *get_pmc_keyed_int(INTVAL key)key.PMC *get_pmc_keyed(PMC *key)key can be: "sub" ... return Sub object of this subroutine
"continuation" ... return Continuation PMC
"lexpad" ... return lexpad PMC for this sub
"outer" ... return outer sub of this closure
"<item>"; level ... same for caller <level>
"outer"; "<item>" ... same for outer level 1
"outer"; "<item>"; level ... same for outer <level>
"globals" ... return global stash
INTVAL get_integer_keyed_int(INTVAL key)key.void set_integer_keyed_int(INTVAL key, INTVAL val)key to val.PMC *clone()Parrot_clone() and use freeze/thaw.INTVAL is_equal(PMC *val)*val.void visit(visit_info *info)*info is the visit info, (see include/parrot/pmc_freeze.h).void freeze(visit_info *info)void thaw(visit_info *info)void thawfinish(visit_info *info)
|
|
|