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