1.2 KiB
C Code Generation Library
The (scheme cyclone cgen)
library compiles scheme code to a Cheney-on-the-MTA C runtime.
#mta:code-gen
(mta:code-gen input-program program? lib-name lib-exports imported-globals globals c-headers required-libs src-file)
Convert the given input program - as pre-processed Scheme AST - into C code. This function cannot be called directly on a Scheme program, but must be called on Scheme code that has already been processed by all of the compiler's Scheme transformations, including CPS and closure conversions.
#emit
(emit string)
display
the string to the output port with a trailing newline.
#emit*
(emit* string ...)
Emit all of the given strings and add a trailing newline.
#emits
(emits string)
display
the string to the output port.
#emits*
(emits* string ...)
Call emits
for each of the given strings.
#emit-newline
(emit-newline)
display
a newline to the current output port.
#string-join
(string-join list deliminator)
Create a single string from a list of strings, adding deliminator
between each of the strings.