stx(1) xpkit NAME stx - xpkit embeddable smalltalk system SYNOPSIS stx [-f imageFile] MainClass DESCRIPTION The virtual machine executes "MainClass main" on start-up. method 1. push lookup_class(#MainClass) -> receiver. send a unary(no argument) message with the selector #main. return the returned value from main and exits. method 2. - take a command parameter push lookup_class(#MainClass) -> receiver. push argc as an argument. push argv as an argument. send a double-argument message the the selector #main:withArgv:. return the returned value from #main:withArgv and exits. AUTHOR(S) Chung, Hyung-Hwan (bacon@piowave.com) is the sole designer and implementer of stx. BUG REPORTS Report bugs to bacon@piowave.com if you find any bugs. but make sure that it is really a bug before you report it. COPYRIGHT Copyright(c) 2005 bacon@piowave.com SEE ALSO xpkit(7) ------------------- /* &unsupportedByte, //--- 00 &bytePushInstance, //--- 01 &bytePushArgument, //--- 02 &bytePushTemporary, //--- 03 &bytePushLiteral, //--- 04 &bytePushConstant, //--- 05 &byteAssignInstance, //--- 06 &byteAssignTemporary, //--- 07 &byteMarkArguments, //--- 08 &byteSendMessage, //--- 09 &byteSendUnary, //--- 10 &byteSendBinary, //--- 11 &unsupportedByte, //--- 12 &byteDoPrimitive, //--- 13 &unsupportedByte, //--- 14 &byteDoSpecial //--- 15 * Directly access by byte codes > the receiver and arguments of the invoking message > the values of the receiver's instance variables > the values of any temporary variables required by the method > seven special constants (true, false, nil, -1, 0, 1, and 2) > 32 special message selectors * contained in literal frame. > shared variables (global, class, and pool) > most literal constants (numbers, characters, strings, arrays, and symbols) > most message selectors (those that are not special) PushInstance PushArgument -> normal arguments plus self/super(0) PushTemporary PushConstant -> nil, true, false, etc.... PushLiteral -> global variables, literal constants... -> access literal frame AssignInstance AssignTemporary */ #define PUSH_VARIABLE 0x01 #define PUSH_ARGUMENT 0x02 #define PUSH_TEMPORARY 0x03 #define PUSH_LITERAL 0x04