1*18582Sralph /* sed.h 4.1 85/04/05 */ 2*18582Sralph 3*18582Sralph /* 4*18582Sralph * sed -- stream editor 5*18582Sralph */ 6*18582Sralph 7*18582Sralph #define CBRA 1 8*18582Sralph #define CCHR 2 9*18582Sralph #define CDOT 4 10*18582Sralph #define CCL 6 11*18582Sralph #define CNL 8 12*18582Sralph #define CDOL 10 13*18582Sralph #define CEOF 11 14*18582Sralph #define CKET 12 15*18582Sralph #define CNULL 13 16*18582Sralph #define CLNUM 14 17*18582Sralph #define CEND 16 18*18582Sralph #define CDONT 17 19*18582Sralph #define CBACK 18 20*18582Sralph 21*18582Sralph #define STAR 01 22*18582Sralph 23*18582Sralph #define NLINES 256 24*18582Sralph #define DEPTH 20 25*18582Sralph #define PTRSIZE 200 26*18582Sralph #define RESIZE 10000 27*18582Sralph #define ABUFSIZE 20 28*18582Sralph #define LBSIZE 4000 29*18582Sralph #define ESIZE 256 30*18582Sralph #define LABSIZE 50 31*18582Sralph #define NBRA 9 32*18582Sralph 33*18582Sralph FILE *fin; 34*18582Sralph union reptr *abuf[ABUFSIZE]; 35*18582Sralph union reptr **aptr; 36*18582Sralph char *lastre; 37*18582Sralph char ibuf[BUFSIZ]; 38*18582Sralph char *cbp; 39*18582Sralph char *ebp; 40*18582Sralph char genbuf[LBSIZE]; 41*18582Sralph char *loc1; 42*18582Sralph char *loc2; 43*18582Sralph char *locs; 44*18582Sralph char seof; 45*18582Sralph char *reend; 46*18582Sralph char *lbend; 47*18582Sralph char *hend; 48*18582Sralph char *lcomend; 49*18582Sralph union reptr *ptrend; 50*18582Sralph int eflag; 51*18582Sralph int dolflag; 52*18582Sralph int sflag; 53*18582Sralph int jflag; 54*18582Sralph int numbra; 55*18582Sralph int delflag; 56*18582Sralph long lnum; 57*18582Sralph char linebuf[LBSIZE+1]; 58*18582Sralph char holdsp[LBSIZE+1]; 59*18582Sralph char *spend; 60*18582Sralph char *hspend; 61*18582Sralph int nflag; 62*18582Sralph int gflag; 63*18582Sralph char *braelist[NBRA]; 64*18582Sralph char *braslist[NBRA]; 65*18582Sralph long tlno[NLINES]; 66*18582Sralph int nlno; 67*18582Sralph char fname[12][40]; 68*18582Sralph FILE *fcode[12]; 69*18582Sralph int nfiles; 70*18582Sralph 71*18582Sralph #define ACOM 01 72*18582Sralph #define BCOM 020 73*18582Sralph #define CCOM 02 74*18582Sralph #define CDCOM 025 75*18582Sralph #define CNCOM 022 76*18582Sralph #define COCOM 017 77*18582Sralph #define CPCOM 023 78*18582Sralph #define DCOM 03 79*18582Sralph #define ECOM 015 80*18582Sralph #define EQCOM 013 81*18582Sralph #define FCOM 016 82*18582Sralph #define GCOM 027 83*18582Sralph #define CGCOM 030 84*18582Sralph #define HCOM 031 85*18582Sralph #define CHCOM 032 86*18582Sralph #define ICOM 04 87*18582Sralph #define LCOM 05 88*18582Sralph #define NCOM 012 89*18582Sralph #define PCOM 010 90*18582Sralph #define QCOM 011 91*18582Sralph #define RCOM 06 92*18582Sralph #define SCOM 07 93*18582Sralph #define TCOM 021 94*18582Sralph #define WCOM 014 95*18582Sralph #define CWCOM 024 96*18582Sralph #define YCOM 026 97*18582Sralph #define XCOM 033 98*18582Sralph 99*18582Sralph char *cp; 100*18582Sralph char *reend; 101*18582Sralph char *lbend; 102*18582Sralph 103*18582Sralph union reptr { 104*18582Sralph struct reptr1 { 105*18582Sralph char *ad1; 106*18582Sralph char *ad2; 107*18582Sralph char *re1; 108*18582Sralph char *rhs; 109*18582Sralph FILE *fcode; 110*18582Sralph char command; 111*18582Sralph char gfl; 112*18582Sralph char pfl; 113*18582Sralph char inar; 114*18582Sralph char negfl; 115*18582Sralph } A; 116*18582Sralph struct reptr2 { 117*18582Sralph char *ad1; 118*18582Sralph char *ad2; 119*18582Sralph union reptr *lb1; 120*18582Sralph char *rhs; 121*18582Sralph FILE *fcode; 122*18582Sralph char command; 123*18582Sralph char gfl; 124*18582Sralph char pfl; 125*18582Sralph char inar; 126*18582Sralph char negfl; 127*18582Sralph } B; 128*18582Sralph } ptrspace[PTRSIZE], *rep; 129*18582Sralph 130*18582Sralph 131*18582Sralph char respace[RESIZE]; 132*18582Sralph 133*18582Sralph struct label { 134*18582Sralph char asc[9]; 135*18582Sralph union reptr *chain; 136*18582Sralph union reptr *address; 137*18582Sralph } ltab[LABSIZE]; 138*18582Sralph 139*18582Sralph struct label *lab; 140*18582Sralph struct label *labend; 141*18582Sralph 142*18582Sralph int f; 143*18582Sralph int depth; 144*18582Sralph 145*18582Sralph int eargc; 146*18582Sralph char **eargv; 147*18582Sralph 148*18582Sralph extern char bittab[]; 149*18582Sralph 150*18582Sralph union reptr **cmpend[DEPTH]; 151*18582Sralph int depth; 152*18582Sralph union reptr *pending; 153*18582Sralph char *badp; 154*18582Sralph char bad; 155*18582Sralph char *compile(); 156*18582Sralph char *ycomp(); 157*18582Sralph char *address(); 158*18582Sralph char *text(); 159*18582Sralph char *compsub(); 160*18582Sralph struct label *search(); 161*18582Sralph char *gline(); 162*18582Sralph char *place(); 163*18582Sralph char compfl; 164