|
|
1.1 ! root 1: struct dict { ! 2: char *entry; ! 3: char val; ! 4: }; ! 5: extern struct dict ary_d[], cy_d[], ery_d[], fy_d[],gy_d[]; ! 6: extern struct dict ity_d[],ly_d[],ory_d[],ry_d[],ty_d[]; ! 7: extern struct dict dict[]; ! 8: char aahash(); ! 9: char lookup(); ! 10: char ary(); ! 11: char cy(); ! 12: char ery(); ! 13: char fy(); ! 14: char gy(); ! 15: char ity(); ! 16: char ly(); ! 17: char ory(); ! 18: char ry(); ! 19: char ty(); ! 20: ! 21: struct hnode { ! 22: char *aakey; ! 23: struct dict *aadata; ! 24: }; ! 25: char ! 26: aahash(s,ex,aatsize,aapr1,aapr2,tbl,data) ! 27: char *s; ! 28: struct hnode tbl[]; ! 29: struct dict *data; ! 30: { ! 31: char *cp; ! 32: int ii, key, c, p1, p2; ! 33: cp = s; ! 34: key =0; ! 35: while (c = *cp++) ! 36: key = key + (key<<5) + c; ! 37: key &= 077777; ! 38: p1 = key%aapr1; ! 39: p2 = key%aapr2; ! 40: if (p2==0) p2=17; ! 41: for(ii=0; ii<aatsize; ii++) ! 42: { ! 43: if (tbl[p1].aakey==0) ! 44: { /* new item */ ! 45: if (ex ==0) ! 46: { ! 47: tbl[p1].aakey = s; ! 48: tbl[p1].aadata= data; ! 49: return(tbl[p1].aadata->val); ! 50: } ! 51: else ! 52: return(0); ! 53: } ! 54: else ! 55: if(strcmp(tbl[p1].aakey, s)== 0) ! 56: { ! 57: return(tbl[p1].aadata->val); ! 58: } ! 59: p1 = (p1+p2)%aatsize; ! 60: } ! 61: fprintf(stderr, "hash table full\n"); ! 62: exit(); ! 63: } ! 64: getd(){ ! 65: struct dict *ptr; ! 66: ptr = dict; ! 67: while(ptr->entry != 0){ ! 68: lookup(ptr->entry,0,ptr); ! 69: ptr++; ! 70: } ! 71: } ! 72: ! 73: struct hnode aa1root[463]; ! 74: #define aa1tsize 463 ! 75: #define aa1p1 457 ! 76: #define aa1p2 461 ! 77: char ! 78: lookup(a0,a1,ptr) ! 79: char *a0; ! 80: struct dict *ptr; ! 81: { ! 82: return(aahash(a0,a1,aa1tsize,aa1p1,aa1p2,aa1root,ptr)); ! 83: } ! 84: struct hnode aa6root[113]; ! 85: #define aa6tsize 113 ! 86: #define aa6p1 107 ! 87: #define aa6p2 109 ! 88: char ! 89: ary(a0,a1,ptr) ! 90: char *a0; ! 91: struct dict *ptr; ! 92: { ! 93: return(aahash(a0,a1,aa6tsize,aa6p1,aa6p2,aa6root,ptr)); ! 94: } ! 95: struct hnode aa9root[13]; ! 96: #define aa9tsize 13 ! 97: #define aa9p1 7 ! 98: #define aa9p2 1 ! 99: char ! 100: cy(a0,a1,ptr) ! 101: char *a0; ! 102: struct dict *ptr; ! 103: { ! 104: return(aahash(a0,a1,aa9tsize,aa9p1,aa9p2,aa9root,ptr)); ! 105: } ! 106: struct hnode aa12root[59]; ! 107: #define aa12tsize 59 ! 108: #define aa12p1 47 ! 109: #define aa12p2 43 ! 110: char ! 111: ery(a0,a1,ptr) ! 112: char *a0; ! 113: struct dict *ptr; ! 114: { ! 115: return(aahash(a0,a1,aa12tsize,aa12p1,aa12p2,aa12root,ptr)); ! 116: } ! 117: struct hnode aa16root[23]; ! 118: #define aa16tsize 23 ! 119: #define aa16p1 17 ! 120: #define aa16p2 19 ! 121: char ! 122: fy(a0,a1,ptr) ! 123: char *a0; ! 124: struct dict *ptr; ! 125: { ! 126: return(aahash(a0,a1,aa16tsize,aa16p1,aa16p2,aa16root,ptr)); ! 127: } ! 128: struct hnode aa17root[29]; ! 129: #define aa17tsize 29 ! 130: #define aa17p1 19 ! 131: #define aa17p2 23 ! 132: char ! 133: gy(a0,a1,ptr) ! 134: char *a0; ! 135: struct dict *ptr; ! 136: { ! 137: return(aahash(a0,a1,aa17tsize,aa17p1,aa17p2,aa17root,ptr)); ! 138: } ! 139: struct hnode aa27root[11]; ! 140: #define aa27tsize 11 ! 141: #define aa27p1 5 ! 142: #define aa27p2 7 ! 143: char ! 144: ity(a0,a1,ptr) ! 145: char *a0; ! 146: struct dict *ptr; ! 147: { ! 148: return(aahash(a0,a1,aa27tsize,aa27p1,aa27p2,aa27root,ptr)); ! 149: } ! 150: struct hnode aa32root[281]; ! 151: #define aa32tsize 281 ! 152: #define aa32p1 271 ! 153: #define aa32p2 277 ! 154: char ! 155: ly(a0,a1,ptr) ! 156: char *a0; ! 157: struct dict *ptr; ! 158: { ! 159: return(aahash(a0,a1,aa32tsize,aa32p1,aa32p2,aa32root,ptr)); ! 160: } ! 161: struct hnode aa36root[59]; ! 162: #define aa36tsize 59 ! 163: #define aa36p1 47 ! 164: #define aa36p2 43 ! 165: char ! 166: ory(a0,a1,ptr) ! 167: char *a0; ! 168: struct dict *ptr; ! 169: { ! 170: return(aahash(a0,a1,aa36tsize,aa36p1,aa36p2,aa36root,ptr)); ! 171: } ! 172: struct hnode aa38root[59]; ! 173: #define aa38tsize 59 ! 174: #define aa38p1 47 ! 175: #define aa38p2 53 ! 176: char ! 177: ry(a0,a1,ptr) ! 178: char *a0; ! 179: struct dict *ptr; ! 180: { ! 181: return(aahash(a0,a1,aa38tsize,aa38p1,aa38p2,aa38root,ptr)); ! 182: } ! 183: struct hnode aa41root[127]; ! 184: #define aa41tsize 127 ! 185: #define aa41p1 109 ! 186: #define aa41p2 113 ! 187: char ! 188: ty(a0,a1,ptr) ! 189: char *a0; ! 190: struct dict *ptr; ! 191: { ! 192: return(aahash(a0,a1,aa41tsize,aa41p1,aa41p2,aa41root,ptr)); ! 193: } ! 194: struct fandd { ! 195: char (*fun)(); ! 196: struct dict *yd; ! 197: } arr[] = { ! 198: ary, ary_d, ! 199: cy, cy_d, ! 200: ery, ery_d, ! 201: fy, fy_d, ! 202: gy, gy_d, ! 203: ity, ity_d, ! 204: ly, ly_d, ! 205: ory, ory_d, ! 206: ry, ry_d, ! 207: ty, ty_d, ! 208: 0, 0 ! 209: }; ! 210: ! 211: ygetd(){ ! 212: struct fandd *ptr; ! 213: struct dict *pp; ! 214: ptr=arr; ! 215: while(ptr->fun != 0){ ! 216: pp = ptr->yd; ! 217: while(pp->entry != 0){ ! 218: (*ptr->fun)(pp->entry,0,pp); ! 219: pp++; ! 220: } ! 221: ptr++; ! 222: } ! 223: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.