|
Class Summary |
| opAP |
opAP applies a non-recursive function in an evaluation environment. |
| opBLK |
The BLK-operation is a marker, which pops itself and it's argument from the C register. |
| opDAP |
opDAP optimizes the (... |
| opDUM |
opDUM Sets up a dummy entry in the E register to prepare
for execution of a recursive function. |
| opJOIN |
opJOIN terminates a branch of an IF-ELSE statement
by taking the topmost entry from the D register and
storing it in the C register. |
| opLD |
opLD pushes the value of a local variable onto
the S register and removes two values from the C register. |
| opLD_GLOBAL |
opLD_GLOBAL pushes onto the stack the value of a global variable. |
| opLDC |
opLDC pops two values from the C register and
pushes the second of those onto the S register. |
| opLDF |
opLDF prepares to execute a non-recursive function. |
| opLDFC |
LDFC is not in Kogge's book. |
| opLDR |
JPG : Not an original jatha opcode
opLDR (op LoaD Rest) has been added to handle user-defined functions with
a variable number of args (with &rest keyword in the list of parameters)
opLDR pushes the value of a local variable onto
the S register and removes two values from the C register. |
| opLIS |
opLIS is not in the Kogge book. |
| opNIL |
opNIL pushes the constant NIL onto the S register and pops the C register. |
| opRAP |
opRAP applies a recursive function in an evaluation environment. |
| opRTN |
opRTN returns from a function call. |
| opRTN_IF |
opRTN_IF returns from a function call if the
value on the stack is NIL. |
| opRTN_IT |
opRTN_IT returns from a function call if the
value on the stack is non-NIL. |
| opSEL |
opSEL takes a branch in an IF-ELSE expression. |
| opSP_BIND |
opSP_BIND binds a special variable to the topmost
value on the stack. |
| opSP_UNBIND |
opSP_UNBIND unbinds a special variable. |
| opSTOP |
opSTOP halts the machine. |
| opT |
opT pushes a constant T onto the stack. |
| opTAG_B |
|
| opTAG_E |
|
| opTEST |
opTEST is a variation of SEL that optimizes for recursion
in the else part. |
| SECDMachine |
The SECDMachine contains the registers and
basic functionality of the SECD machine. |
| SECDop |
SECDop is the abstract class that encompasses all SECD
machine ops. |
| SECDRegister |
SECDRegister is essentially a Stack, with
an additional assign() method
which resets the value, and a value()
method which retrieves the whole stack. |