quakeforge/ruamoko/scheme/Machine.h

33 lines
777 B
Objective-C

#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;
- (void) procedure: (Procedure *) pr;
@end
#endif //__Machine_h