Annotation of 42BSD/usr.bin/dc/dc.h, revision 1.1

1.1     ! root        1: /*     dc.h    1.2     83/03/30        */
        !             2: 
        !             3: #define FATAL 0
        !             4: #define NFATAL 1
        !             5: #define BLK sizeof(struct blk)
        !             6: #define PTRSZ sizeof(int *)
        !             7: #define HEADSZ 1024
        !             8: #define STKSZ 100
        !             9: #define RDSKSZ 100
        !            10: #define TBLSZ 256
        !            11: #define ARRAYST 0241
        !            12: #define MAXIND 2048
        !            13: #define NL 1
        !            14: #define NG 2
        !            15: #define NE 3
        !            16: #define length(p) ((p)->wt-(p)->beg)
        !            17: #define rewind(p) (p)->rd=(p)->beg
        !            18: #define create(p)      (p)->rd = (p)->wt = (p)->beg
        !            19: #define fsfile(p)      (p)->rd = (p)->wt
        !            20: #define truncate(p)    (p)->wt = (p)->rd
        !            21: #define sfeof(p)       (((p)->rd==(p)->wt)?1:0)
        !            22: #define sfbeg(p)       (((p)->rd==(p)->beg)?1:0)
        !            23: #define sungetc(p,c)   *(--(p)->rd)=c
        !            24: #ifdef interdata
        !            25: #define NEGBYTE 0200
        !            26: #define MASK (-1 & ~0377)
        !            27: #define sgetc(p)       ( ((p)->rd==(p)->wt) ? EOF :( ((*(p)->rd & NEGBYTE) != 0) ? ( *(p)->rd++ | MASK): *(p)->rd++ ))
        !            28: #define slookc(p)      ( ((p)->rd==(p)->wt) ? EOF :( ((*(p)->rd & NEGBYTE) != 0) ? (*(p)->rd | MASK) : *(p)->rd ))
        !            29: #define sbackc(p)      ( ((p)->rd==(p)->beg) ? EOF :( ((*(--(p)->rd) & NEGBYTE) != 0) ? (*(p)->rd | MASK): *(p)->rd ))
        !            30: #endif
        !            31: #ifndef interdata
        !            32: #define sgetc(p)       (((p)->rd==(p)->wt)?EOF:*(p)->rd++)
        !            33: #define slookc(p)      (((p)->rd==(p)->wt)?EOF:*(p)->rd)
        !            34: #define sbackc(p)      (((p)->rd==(p)->beg)?EOF:*(--(p)->rd))
        !            35: #endif
        !            36: #define sputc(p,c)     {if((p)->wt==(p)->last)more(p); *(p)->wt++ = c; }
        !            37: #define salterc(p,c)   {if((p)->rd==(p)->last)more(p); *(p)->rd++ = c; if((p)->rd>(p)->wt)(p)->wt=(p)->rd;}
        !            38: #define sunputc(p)     (*( (p)->rd = --(p)->wt))
        !            39: #define zero(p)        for(pp=(p)->beg;pp<(p)->last;)*pp++='\0'
        !            40: #define OUTC(x) {printf("%c",x); if(--count == 0){printf("\\\n"); count=ll;} }
        !            41: #define TEST2  {if((count -= 2) <=0){printf("\\\n");count=ll;}}
        !            42: #define EMPTY if(stkerr != 0){printf("stack empty\n"); continue; }
        !            43: #define EMPTYR(x) if(stkerr!=0){pushp(x);printf("stack empty\n");continue;}
        !            44: #define EMPTYS if(stkerr != 0){printf("stack empty\n"); return(1);}
        !            45: #define EMPTYSR(x) if(stkerr !=0){printf("stack empty\n");pushp(x);return(1);}
        !            46: #define error(p)       {printf(p); continue; }
        !            47: #define errorrt(p)     {printf(p); return(1); }
        !            48: struct blk {
        !            49:        char    *rd;
        !            50:        char    *wt;
        !            51:        char    *beg;
        !            52:        char    *last;
        !            53: };
        !            54: struct blk *hfree;
        !            55: struct blk *getwd();
        !            56: struct blk *lookwd();
        !            57: struct blk *getdec();
        !            58: struct blk *morehd();
        !            59: 
        !            60: struct blk *arg1, *arg2;
        !            61: int    svargc;
        !            62: char   savk;
        !            63: char   **svargv;
        !            64: int    dbg;
        !            65: int    ifile;
        !            66: FILE   *curfile;
        !            67: struct blk *scalptr, *basptr, *tenptr, *inbas;
        !            68: struct blk *sqtemp, *chptr, *strptr, *divxyz;
        !            69: struct blk *stack[STKSZ];
        !            70: struct blk **stkptr,**stkbeg;
        !            71: struct blk **stkend;
        !            72: int    stkerr;
        !            73: int    lastchar;
        !            74: struct blk *readstk[RDSKSZ];
        !            75: struct blk **readptr;
        !            76: struct blk *rem;
        !            77: int    k;
        !            78: struct blk *irem;
        !            79: int    skd,skr;
        !            80: struct blk *pop(),*readin(),*add0(),*mult();
        !            81: struct blk *scalint();
        !            82: struct blk *removc();
        !            83: struct blk *add(),*div(),*removr();
        !            84: struct blk *exp();
        !            85: struct blk *sqrt();
        !            86: struct blk *salloc(),*copy();
        !            87: struct blk *scale();
        !            88: int    neg;
        !            89: struct sym {
        !            90:        struct  sym *next;
        !            91:        struct  blk *val;
        !            92: } symlst[TBLSZ];
        !            93: struct sym *stable[TBLSZ];
        !            94: struct sym *sptr,*sfree;
        !            95: struct wblk {
        !            96:        struct blk **rdw;
        !            97:        struct blk **wtw;
        !            98:        struct blk **begw;
        !            99:        struct blk **lastw;
        !           100: };
        !           101: FILE   *fsave;
        !           102: long   rel;
        !           103: long   nbytes;
        !           104: long   all;
        !           105: long   headmor;
        !           106: long   obase;
        !           107: int    fw,fw1,ll;
        !           108: int    (*outdit)();
        !           109: int    bigot(),hexot();
        !           110: int    logo;
        !           111: int    log10;
        !           112: int    count;
        !           113: char   *pp;
        !           114: int    (*signal())();
        !           115: int    onintr();
        !           116: char   *malloc();
        !           117: char   *nalloc();
        !           118: char   *realloc();
        !           119: char   *dummy;

unix.superglobalmegacorp.com

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