The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Parrot::Pmc2c::UtilFunctions

DESCRIPTION

Various utility functions used in PMC to C transformations. All functions are exported on request only.

SUBROUTINES

passable_args_from_parameter_list( $parms )

Given $parms like const STRING *foo, int bar, returns , foo, bar. It's handy for passing into function calls.

args_from_parameter_list( $parms )

Returns two arrayrefs of arg types and var names.

count_newlines($string)

Returns the number of newlines (\n) in $string.

dont_edit($pmcfile)

Returns the "DO NOT EDIT THIS FILE" warning text. $pmcfile is the name of the original source *.pmc file.

return_statement($method, $body)

Generate the C code for a return statement, if the body is empty then make a cast if needed.

This method is imported by subclasses.

dynext_load_code($library_name, %classes)

$library_name is the name of the dynamic library to be created.

%classes is a map from the PMC names for which code is to be generated, to dump info (PMC metadata).

This function is exported.

_flatten_class_hierarchy($classes)

Flattens and returns the given dynpmc hierarchy into a list where all parents appear before their children. Internal use only.

c_code_coda()

Returns the Parrot C code coda