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