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. |