Next: , Previous: , Up: compiler   [Index]


17.8 Scheme code to nested structs

The core language forms produced by the expander are converted to “recordised code” by the compiler before actually generating machine code; recordised code is a nested hierarchy of struct instances. The struct types used for this recordisation are used to represent code in the core language in a way which is better inspectable and optimisable.

The following bindings are exported by the library (vicare compiler).

Function: pass-recordize core-language-form

Given a symbolic expression representing a form in the core language, convert it into a nested hierarchy of struct instances; return the outer struct instance.

This function expects a symbolic expression with perfect syntax: no syntax errors are checked. We expect this function to be executed without errors, no exceptions should be raised unless an internal error makes it happen.

In addition the following operations are performed: