NAME

Parrot::OpTrans::CGoto - CGoto Transform

DESCRIPTION

Used to generate C code from Parrot operations.

Parrot::OpTrans::CGoto inherits from Parrot::OpTrans to provide a C goto run loop.

Instance Methods

suffix()
The suffix is '_cg'.
core_prefix()
The core prefix is 'cg_'.
core_type()
The core type is PARROT_CGOTO_CORE.
defines()
Returns the C #define macros required by the ops.
pc($pc)
pc()
Sets/gets the current position in Parrot code.
args(@args)
args()
Sets/gets the transform's arguments.
arg($index)
Returns the argument at $index.
goto_address($address)
Transforms the goto ADDRESS($address) macro in an ops file into the relevant C code.
expr_offset($offset)
Transforms the OFFSET($offset) macro in an ops file into the relevant C code.
goto_offset($offset)
Transforms the goto OFFSET($offset) macro in an ops file into the relevant C code.
goto_pop()
Transforms the goto POP() macro in an ops file into the relevant C code.
access_arg($type, $num, $op)
Returns the C code for the specified op argument type (see Parrot::OpTrans) and value. $op is an instance of Parrot::Op.
restart_address($address)
Returns the C code for restart ADDRESS($address).
restart_offset($offset)
Returns the C code for restart OFFSET($offset).
run_core_func_decl($core)
Returns the C code for the run core function declaration.
ops_addr_decl($base_suffix)
Returns the C code for the ops address declaration.
run_core_func_start()
Returns the C code prior to the run core function.
run_core_after_addr_table($base_suffix)
Returns the run core C code for section after the address table.
run_core_finish($base)
Returns the C code following the run core function.
init_func_init1($base)
Returns the C code for the init function.
init_set_dispatch($base_suffix)
Returns the C code to initialize the dispatch mechanism within the core's initialization function.

SEE ALSO

Parrot::OpTrans
Parrot::OpTrans::C
Parrot::OpTrans::CGP
Parrot::OpTrans::CPrederef
Parrot::OpTrans::CSwitch
Parrot::OpTrans::Compiled