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