Research V7 development
authorLorinda Cherry <llc@research.uucp>
Wed, 10 Jan 1979 20:03:08 +0000 (15:03 -0500)
committerLorinda Cherry <llc@research.uucp>
Wed, 10 Jan 1979 20:03:08 +0000 (15:03 -0500)
Work on file usr/src/cmd/dc/dc.h
Work on file usr/src/cmd/dc/makefile

Co-Authored-By: Robert Morris <rhm@research.uucp>
Synthesized-from: v7

usr/src/cmd/dc/dc.h [new file with mode: 0644]
usr/src/cmd/dc/makefile [new file with mode: 0644]

diff --git a/usr/src/cmd/dc/dc.h b/usr/src/cmd/dc/dc.h
new file mode 100644 (file)
index 0000000..eaea5af
--- /dev/null
@@ -0,0 +1,117 @@
+#define FATAL 0
+#define NFATAL 1
+#define BLK sizeof(struct blk)
+#define PTRSZ sizeof(int *)
+#define HEADSZ 1024
+#define STKSZ 100
+#define RDSKSZ 100
+#define TBLSZ 256
+#define ARRAYST 0241
+#define MAXIND 2048
+#define NL 1
+#define NG 2
+#define NE 3
+#define length(p) ((p)->wt-(p)->beg)
+#define rewind(p) (p)->rd=(p)->beg
+#define create(p)      (p)->rd = (p)->wt = (p)->beg
+#define fsfile(p)      (p)->rd = (p)->wt
+#define truncate(p)    (p)->wt = (p)->rd
+#define sfeof(p)       (((p)->rd==(p)->wt)?1:0)
+#define sfbeg(p)       (((p)->rd==(p)->beg)?1:0)
+#define sungetc(p,c)   *(--(p)->rd)=c
+#ifdef interdata
+#define NEGBYTE 0200
+#define MASK (-1 & ~0377)
+#define sgetc(p)       ( ((p)->rd==(p)->wt) ? EOF :( ((*(p)->rd & NEGBYTE) != 0) ? ( *(p)->rd++ | MASK): *(p)->rd++ ))
+#define slookc(p)      ( ((p)->rd==(p)->wt) ? EOF :( ((*(p)->rd & NEGBYTE) != 0) ? (*(p)->rd | MASK) : *(p)->rd ))
+#define sbackc(p)      ( ((p)->rd==(p)->beg) ? EOF :( ((*(--(p)->rd) & NEGBYTE) != 0) ? (*(p)->rd | MASK): *(p)->rd ))
+#endif
+#ifndef interdata
+#define sgetc(p)       (((p)->rd==(p)->wt)?EOF:*(p)->rd++)
+#define slookc(p)      (((p)->rd==(p)->wt)?EOF:*(p)->rd)
+#define sbackc(p)      (((p)->rd==(p)->beg)?EOF:*(--(p)->rd))
+#endif
+#define sputc(p,c)     {if((p)->wt==(p)->last)more(p); *(p)->wt++ = c; }
+#define salterc(p,c)   {if((p)->rd==(p)->last)more(p); *(p)->rd++ = c; if((p)->rd>(p)->wt)(p)->wt=(p)->rd;}
+#define sunputc(p)     (*( (p)->rd = --(p)->wt))
+#define zero(p)        for(pp=(p)->beg;pp<(p)->last;)*pp++='\0'
+#define OUTC(x) {printf("%c",x); if(--count == 0){printf("\\\n"); count=ll;} }
+#define TEST2  {if((count -= 2) <=0){printf("\\\n");count=ll;}}
+#define EMPTY if(stkerr != 0){printf("stack empty\n"); continue; }
+#define EMPTYR(x) if(stkerr!=0){pushp(x);printf("stack empty\n");continue;}
+#define EMPTYS if(stkerr != 0){printf("stack empty\n"); return(1);}
+#define EMPTYSR(x) if(stkerr !=0){printf("stack empty\n");pushp(x);return(1);}
+#define error(p)       {printf(p); continue; }
+#define errorrt(p)     {printf(p); return(1); }
+struct blk {
+       char    *rd;
+       char    *wt;
+       char    *beg;
+       char    *last;
+};
+struct blk *hfree;
+struct blk *getwd();
+struct blk *lookwd();
+struct blk *getdec();
+struct blk *morehd();
+
+struct blk *arg1, *arg2;
+int    svargc;
+char   savk;
+char   **svargv;
+int    dbg;
+int    ifile;
+FILE   *curfile;
+struct blk *scalptr, *basptr, *tenptr, *inbas;
+struct blk *sqtemp, *chptr, *strptr, *divxyz;
+struct blk *stack[STKSZ];
+struct blk **stkptr,**stkbeg;
+struct blk **stkend;
+int    stkerr;
+int    lastchar;
+struct blk *readstk[RDSKSZ];
+struct blk **readptr;
+struct blk *rem;
+int    k;
+struct blk *irem;
+int    skd,skr;
+struct blk *pop(),*readin(),*add0(),*mult();
+struct blk *scalint();
+struct blk *removc();
+struct blk *add(),*div(),*removr();
+struct blk *exp();
+struct blk *sqrt();
+struct blk *salloc(),*copy();
+struct blk *scale();
+int    neg;
+struct sym {
+       struct  sym *next;
+       struct  blk *val;
+} symlst[TBLSZ];
+struct sym *stable[TBLSZ];
+struct sym *sptr,*sfree;
+struct wblk {
+       struct blk **rdw;
+       struct blk **wtw;
+       struct blk **begw;
+       struct blk **lastw;
+};
+FILE   *fsave;
+long   rel;
+long   nbytes;
+long   all;
+long   headmor;
+long   obase;
+int    fw,fw1,ll;
+int    (*outdit)();
+int    bigot(),hexot();
+int    logo;
+int    log10;
+int    count;
+char   *pp;
+int    (*signal())();
+int    onintr();
+char   *malloc();
+char   *nalloc();
+char   *realloc();
+char   *dummy;
diff --git a/usr/src/cmd/dc/makefile b/usr/src/cmd/dc/makefile
new file mode 100644 (file)
index 0000000..40f420f
--- /dev/null
@@ -0,0 +1,12 @@
+all:   dc
+
+cmp:   dc
+       cmp dc /bin/dc
+       rm dc
+
+cp:    dc
+       cp dc /bin/dc
+       rm dc
+
+dc:    dc.c dc.h
+       cc -n -s -O dc.c -o dc