NAME
src/pmc/eval.pmc - Dynamic code evaluation
DESCRIPTION
Eval
extends Sub
to provide eval
-like dynamic code evaluation and execution.
Vtable functions
void init()
Initializes a new empty Eval.
void destroy()
Destroy the Eval and its associated bytecode.
void mark()
Mark this Eval.
void *get_pointer()
Returns the address of the associated packfile.
opcode_t *invoke(void *next)
Invokes the first subroutine in the eval code.
STRING *get_string
Get a STRING representing the bytecode for this code segment,
suitable for writing to disc and later loading via PMC *get_pmc_keyed_int(INTVAL key)
Returns the Sub PMC of the element at index void freeze(PMC *info)
Archives the evaled code
void thaw(PMC *info)
Unarchives the code.
load_bytecode
.
key
or PMCNULL.
Methods
get_main()
Return the main sub,
if any,
null PMC otherwise.