|
|
researchv9-SUN3(old)
#ifndef FRAME_H
#define FRAME_H
#ifndef UNIV_H
#include "univ.h"
#endif
struct FpFrame {
long fp;
Func *func;
Frame *frame;
};
class CallStk {
public:
Core *core;
long size;
FpFrame *fpf;
CallStk(long, Core*);
~CallStk();
Frame frame(long);
};
class Frame : public PadRcv { friend Globals; friend SrcText; friend Process;
long saved(int,int);
void pickvar(Var*);
Index varcarte();
Index regcarte();
long regloc(int,int);
void ambiguous(char*, class BlkVars&);
void pop();
PUBLIC(Frame,U_FRAME)
long level; /* deepest() = 1; main() = core->stacksize() */
Core *core;
long fp;
long ap;
long pc;
long nargs;
long regbase;
long regsave; /* VAX: mask; mac32: no of regs */
Func *func;
Frame(Core*); /* cfront bug */
Frame();
Cslfd *peek(long, Cslfd* = 0);
Index carte();
Pad *pad;
Phrase *phraset;
SymTab *symtab();
Var *idtosym(char*);
char *blockmove(long, long, long);
char *special(char*, long);
char *help();
char *makephrase(Expr*,long=0);
char *peekstring(long, char* = 0 );
char *poke(long,long,int);
char *pokedbl(long,double,int);
char *text(Bls&);
int addsymbols();
int changes(long verbose = 0);
long locate(Var*);
void opencallersframe();
Frame *caller();
void freekey(long);
void hostclose();
char *kbd(char*);
void select(long=0);
virtual void banner();
virtual void open(long=0);
};
class Globals : public Frame {
Index ix;
PUBLIC(Frame,U_FRAME)
Globals(Core *);
void open(long=0);
void addvars(Menu*);
void banner();
};
#endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.