Annotation of researchv9/jtools/src/pi/frame.h, revision 1.1.1.1

1.1       root        1: #ifndef FRAME_H
                      2: #define FRAME_H
                      3: #ifndef UNIV_H
                      4: #include "univ.h"
                      5: #endif
                      6: 
                      7: struct FpFrame {
                      8:        long    fp;
                      9:        Func    *func;
                     10:        Frame   *frame;
                     11: };
                     12: 
                     13: class CallStk {
                     14: public:
                     15:        Core    *core;
                     16:        long    size;
                     17:        FpFrame *fpf;
                     18:                CallStk(long, Core*);
                     19:                ~CallStk();
                     20:        Frame   frame(long);
                     21: };
                     22: 
                     23: class Frame : public PadRcv { friend Globals; friend SrcText; friend Process;
                     24:        long    saved(int,int);
                     25:        void    pickvar(Var*);
                     26:        Index   varcarte();
                     27:        Index   regcarte();
                     28:        long    regloc(int,int);
                     29:        void    ambiguous(char*, class BlkVars&);
                     30:        void    pop();
                     31: PUBLIC(Frame,U_FRAME)
                     32:        long    level;          /* deepest() = 1; main() = core->stacksize() */
                     33:        Core    *core;
                     34:        long    fp;
                     35:        long    ap;
                     36:        long    pc;
                     37:        long    nargs;
                     38:        long    regbase;
                     39:        long    regsave;        /* VAX: mask; mac32: no of regs */
                     40:        Func    *func;
                     41:                Frame(Core*);   /* cfront bug */
                     42:                Frame();
                     43:        Cslfd   *peek(long, Cslfd* = 0);
                     44:        Index   carte();
                     45:        Pad     *pad;
                     46:        Phrase  *phraset;
                     47:        SymTab  *symtab();
                     48:        Var     *idtosym(char*);
                     49:        char    *blockmove(long, long, long);
                     50:        char    *special(char*, long);
                     51:        char    *help();
                     52:        char    *makephrase(Expr*,long=0);
                     53:        char    *peekstring(long, char* = 0 );
                     54:        char    *poke(long,long,int);
                     55:        char    *pokedbl(long,double,int);
                     56:        char    *text(Bls&);
                     57:        int     addsymbols();
                     58:        int     changes(long verbose = 0);
                     59:        long    locate(Var*);
                     60:        void    opencallersframe();
                     61:        Frame   *caller();
                     62:        void    freekey(long);
                     63:        void    hostclose();
                     64:        char    *kbd(char*);
                     65:        void    select(long=0);
                     66: virtual        void    banner();
                     67: virtual        void    open(long=0);
                     68: };
                     69: 
                     70: class Globals : public Frame {
                     71:        Index   ix;
                     72: PUBLIC(Frame,U_FRAME)
                     73:                Globals(Core *);
                     74:        void    open(long=0);
                     75:        void    addvars(Menu*);
                     76:        void    banner();
                     77: };
                     78: 
                     79: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.