Jatha Software

Package org.jatha.machine

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.
 


Jatha Software