#ifndef __Machine_h #define __Machine_h #include "Symbol.h" #include "CompiledCode.h" #include "Frame.h" #include "Continuation.h" #include "hash.h" #include "state.h" @interface Machine: SchemeObject { state_t state; SchemeObject value; hashtab_t globals; SchemeObject all_globals; } - (void) loadCode: (CompiledCode) code; - (SchemeObject) run; - (void) addGlobal: (Symbol) sym value: (SchemeObject) val; - (void) environment: (Frame) e; - (void) continuation: (Continuation) c; - (Continuation) continuation; - (void) value: (SchemeObject) o; - (SchemeObject) stack; - (void) stack: (SchemeObject) o; - (state_t []) state; - (void) state: (state_t []) st; - (void) reset; @end #endif //__Machine_h