Avail Code Generator
An AvailCodeGenerator is used to convert a phrase into the corresponding raw function.
Author
Mark van Gulik
Parameters
The module in which the function is defined.
The tuple of argument declarations.
The Primitive or null.
The list of local variable declarations.
The list of local constant declarations.
The list of (zero or one) label declarations.
Any needed outer variable/constant declarations.
The return type of the function.
The return type of the function, in the event that the primitive fails, or there is no primitive.
The declared exception set of the function.
The line number of the module at which the function is purported to begin.
Properties
Functions
Create a function from CompiledCodeDescriptor compiled code and the pushed outer (lexically bound) variables.
Emit code to duplicate the element at the top of the stack.
Emit code to get the value of a literal variable.
Emit code to get the value of a local or outer (captured) variable.
Emit a declaration of a label for the current block.
Emit code to create a tuple from the top N items on the stack.
Emit code to permute the top N items on the stack with the given N-element permutation.
Emit code to push a literal object onto the stack.
Push a variable. It can be local to the current block or defined in an outer scope.
Emit code to pop the stack and write the popped value into a literal variable.
Emit code to pop the stack and write it directly into a local slot of the continuation. This is how local constants become initialized.
Emit code to pop the stack and write into a local or outer variable.