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