|
|
1.1 ! root 1: /* Copyright (c) 1979 Regents of the University of California */ ! 2: ! 3: #include "0.h" ! 4: #include "yy.h" ! 5: #include "tree.h" ! 6: ! 7: #ifdef PI ! 8: #define lineof(l) l ! 9: #define line2of(l) l ! 10: #endif ! 11: ! 12: extern yyerrflag; ! 13: ! 14: int *yyval 0; ! 15: int *yypv; ! 16: yyactr(__np__){ ! 17: register int **yyYpv; ! 18: register int *p, *q; ! 19: yyYpv = yypv; ! 20: ! 21: switch(__np__){ ! 22: ! 23: case 1: funcend(yyYpv[1], yyYpv[4], lineof(yyYpv[5])); break; ! 24: case 2: yyval = funcbody(funchdr(tree5(T_PROG, lineof(yyYpv[1]), yyYpv[2], fixlist(yyYpv[4]), NIL))); break; ! 25: case 3: { ! 26: yyPerror("Malformed program statement", PPROG); ! 27: /* ! 28: * Should make a program statement ! 29: * with "input" and "output" here. ! 30: */ ! 31: yyval = funcbody(funchdr(tree5(T_PROG, lineof(yyYpv[1]), NIL, NIL, NIL))); ! 32: } break; ! 33: case 4: { ! 34: yyval = tree3(T_BSTL, lineof(yyYpv[1]), fixlist(yyYpv[2])); ! 35: if (yyYpv[3] < 0) ! 36: brerror(yyYpv[1], "begin"); ! 37: } break; ! 38: case 5: trfree(); break; ! 39: case 6: { ! 40: Derror: ! 41: constend(), typeend(), varend(), trfree(); ! 42: yyPerror("Malformed declaration", PDECL); ! 43: } break; ! 44: case 7: trfree(); break; ! 45: case 9: constend(); break; ! 46: case 10: typeend(); break; ! 47: case 11: varend(); break; ! 48: case 12: label(fixlist(yyYpv[2]), lineof(yyYpv[1])); break; ! 49: case 13: yyval = newlist(yyYpv[1] == NIL ? NIL : *hash(yyYpv[1], 1)); break; ! 50: case 14: yyval = addlist(yyYpv[1], yyYpv[3] == NIL ? NIL : *hash(yyYpv[3], 1)); break; ! 51: case 15: constbeg(yyYpv[1], line2of(yyYpv[2])), const(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; ! 52: case 16: const(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; ! 53: case 17: { ! 54: constbeg(yyYpv[1], line2of(yyYpv[1])); ! 55: Cerror: ! 56: yyPerror("Malformed const declaration", PDECL); ! 57: } break; ! 58: case 18: goto Cerror; break; ! 59: case 19: typebeg(yyYpv[1], line2of(yyYpv[2])), type(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; ! 60: case 20: type(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; ! 61: case 21: { ! 62: typebeg(yyYpv[1], line2of(yyYpv[1])); ! 63: Terror: ! 64: yyPerror("Malformed type declaration", PDECL); ! 65: } break; ! 66: case 22: goto Terror; break; ! 67: case 23: varbeg(yyYpv[1], line2of(yyYpv[3])), var(lineof(yyYpv[3]), fixlist(yyYpv[2]), yyYpv[4]); break; ! 68: case 24: var(lineof(yyYpv[3]), fixlist(yyYpv[2]), yyYpv[4]); break; ! 69: case 25: { ! 70: varbeg(yyYpv[1], line2of(yyYpv[1])); ! 71: Verror: ! 72: yyPerror("Malformed var declaration", PDECL); ! 73: } break; ! 74: case 26: goto Verror; break; ! 75: case 28: trfree(); break; ! 76: case 29: funcfwd(yyYpv[1]); break; ! 77: case 30: funcend(yyYpv[1], yyYpv[4], lineof(yyYpv[5])); break; ! 78: case 31: funcbody(yyYpv[1]); break; ! 79: case 32: yyval = funchdr(tree5(yyYpv[1], lineof(yyYpv[5]), yyYpv[2], yyYpv[3], yyYpv[4])); break; ! 80: case 33: yyval = T_PDEC; break; ! 81: case 34: yyval = T_FDEC; break; ! 82: case 35: yyval = fixlist(yyYpv[2]); break; ! 83: case 36: yyval = NIL; break; ! 84: case 37: yyval = tree3(T_PVAL, fixlist(yyYpv[1]), yyYpv[3]); break; ! 85: case 38: yyval = tree3(T_PVAR, fixlist(yyYpv[2]), yyYpv[4]); break; ! 86: case 39: yyval = tree3(T_PFUNC, fixlist(yyYpv[2]), yyYpv[4]); break; ! 87: case 40: yyval = tree2(T_PPROC, fixlist(yyYpv[2])); break; ! 88: case 41: yyval = yyYpv[2]; break; ! 89: case 42: yyval = NIL; break; ! 90: case 43: yyval = newlist(yyYpv[1]); break; ! 91: case 44: yyval = addlist(yyYpv[1], yyYpv[3]); break; ! 92: case 45: yyval = tree2(T_CSTRNG, yyYpv[1]); break; ! 93: case 47: yyval = tree2(T_PLUSC, yyYpv[2]); break; ! 94: case 48: yyval = tree2(T_MINUSC, yyYpv[2]); break; ! 95: case 49: yyval = tree2(T_ID, yyYpv[1]); break; ! 96: case 50: yyval = tree2(T_CINT, yyYpv[1]); break; ! 97: case 51: yyval = tree2(T_CBINT, yyYpv[1]); break; ! 98: case 52: yyval = tree2(T_CFINT, yyYpv[1]); break; ! 99: case 53: yyval = newlist(yyYpv[1]); break; ! 100: case 54: yyval = addlist(yyYpv[1], yyYpv[3]); break; ! 101: case 56: yyval = tree3(T_TYPTR, lineof(yyYpv[1]), tree2(T_ID, yyYpv[2])); break; ! 102: case 58: yyval = tree3(T_TYPACK, lineof(yyYpv[1]), yyYpv[2]); break; ! 103: case 60: yyval = tree3(T_TYSCAL, lineof(yyYpv[1]), fixlist(yyYpv[2])); break; ! 104: case 61: yyval = tree4(T_TYRANG, lineof(yyYpv[2]), yyYpv[1], yyYpv[3]); break; ! 105: case 62: yyval = tree4(T_TYARY, lineof(yyYpv[1]), fixlist(yyYpv[3]), yyYpv[6]); break; ! 106: case 63: yyval = tree3(T_TYFILE, lineof(yyYpv[1]), yyYpv[3]); break; ! 107: case 64: yyval = tree3(T_TYSET, lineof(yyYpv[1]), yyYpv[3]); break; ! 108: case 65: { ! 109: yyval = tree3(T_TYREC, lineof(yyYpv[1]), yyYpv[2]); ! 110: if (yyYpv[3] < 0) ! 111: brerror(yyYpv[1], "record"); ! 112: } break; ! 113: case 66: yyval = newlist(yyYpv[1]); break; ! 114: case 67: yyval = addlist(yyYpv[1], yyYpv[3]); break; ! 115: case 68: yyval = tree4(T_FLDLST, lineof(NIL), fixlist(yyYpv[1]), yyYpv[2]); break; ! 116: case 69: yyval = newlist(yyYpv[1]); break; ! 117: case 70: yyval = addlist(yyYpv[1], yyYpv[3]); break; ! 118: case 71: yyPerror("Malformed record declaration", PDECL); break; ! 119: case 72: yyval = NIL; break; ! 120: case 73: yyval = tree4(T_RFIELD, lineof(yyYpv[2]), fixlist(yyYpv[1]), yyYpv[3]); break; ! 121: case 74: yyval = NIL; break; ! 122: case 75: yyval = tree5(T_TYVARPT, lineof(yyYpv[1]), NIL, yyYpv[2], fixlist(yyYpv[4])); break; ! 123: case 76: yyval = tree5(T_TYVARPT, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], fixlist(yyYpv[6])); break; ! 124: case 77: yyval = newlist(yyYpv[1]); break; ! 125: case 78: yyval = addlist(yyYpv[1], yyYpv[3]); break; ! 126: case 79: yyPerror("Malformed record declaration", PDECL); break; ! 127: case 80: yyval = NIL; break; ! 128: case 81: yyval = tree4(T_TYVARNT, lineof(yyYpv[2]), fixlist(yyYpv[1]), yyYpv[4]); break; ! 129: case 82: yyval = tree4(T_TYVARNT, lineof(yyYpv[2]), fixlist(yyYpv[1]), NIL); break; ! 130: case 83: yyval = newlist(yyYpv[1]); break; ! 131: case 84: { ! 132: if ((p = yyYpv[1]) != NIL && (q = p[1])[0] == T_IFX) { ! 133: q[0] = T_IFEL; ! 134: q[4] = yyYpv[2]; ! 135: } else ! 136: yyval = addlist(yyYpv[1], yyYpv[2]); ! 137: } break; ! 138: case 85: if ((q = yyYpv[1]) != NIL && (p = q[1]) != NIL && p[0] == T_IF) { ! 139: if (yychar < 0) ! 140: yychar = yylex(); ! 141: if (yyshifts >= 2 && yychar == YELSE) { ! 142: recovered(); ! 143: copy(&Y, &OY, sizeof Y); ! 144: yerror("Deleted ';' before keyword else"); ! 145: yychar = yylex(); ! 146: p[0] = T_IFX; ! 147: } ! 148: } break; ! 149: case 86: yyval = newlist(yyYpv[1]); break; ! 150: case 87: yyval = addlist(yyYpv[1], yyYpv[3]); break; ! 151: case 88: { ! 152: yyval = NIL; ! 153: Kerror: ! 154: yyPerror("Malformed statement in case", PSTAT); ! 155: } break; ! 156: case 89: goto Kerror; break; ! 157: case 90: yyval = tree4(T_CSTAT, lineof(yyYpv[2]), fixlist(yyYpv[1]), yyYpv[3]); break; ! 158: case 91: yyval = tree4(T_CSTAT, lineof(yyYpv[1]), NIL, yyYpv[2]); break; ! 159: case 92: yyval = NIL; break; ! 160: case 93: yyval = NIL; break; ! 161: case 94: yyval = tree4(T_LABEL, lineof(yyYpv[2]), yyYpv[1] == NIL ? NIL : *hash(yyYpv[1], 1), yyYpv[3]); break; ! 162: case 95: yyval = tree4(T_PCALL, lineof(yyline), yyYpv[1], NIL); break; ! 163: case 96: yyval = tree4(T_PCALL, lineof(yyYpv[2]), yyYpv[1], fixlist(yyYpv[3])); break; ! 164: case 97: goto NSerror; break; ! 165: case 99: { ! 166: yyval = tree3(T_BLOCK, lineof(yyYpv[1]), fixlist(yyYpv[2])); ! 167: if (yyYpv[3] < 0) ! 168: brerror(yyYpv[1], "begin"); ! 169: } break; ! 170: case 100: { ! 171: yyval = tree4(T_CASE, lineof(yyYpv[1]), yyYpv[2], fixlist(yyYpv[4])); ! 172: if (yyYpv[5] < 0) ! 173: brerror(yyYpv[1], "case"); ! 174: } break; ! 175: case 101: yyval = tree4(T_WITH, lineof(yyYpv[1]), fixlist(yyYpv[2]), yyYpv[4]); break; ! 176: case 102: yyval = tree4(T_WHILE, lineof(yyYpv[1]), yyYpv[2], yyYpv[4]); break; ! 177: case 103: yyval = tree4(T_REPEAT, lineof(yyYpv[3]), fixlist(yyYpv[2]), yyYpv[4]); break; ! 178: case 104: yyval = tree5(T_FORU, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], yyYpv[6]); break; ! 179: case 105: yyval = tree5(T_FORD, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], yyYpv[6]); break; ! 180: case 106: yyval = tree3(T_GOTO, lineof(yyYpv[1]), *hash(yyYpv[2], 1)); break; ! 181: case 107: yyval = tree5(T_IF, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], NIL); break; ! 182: case 108: yyval = tree5(T_IFEL, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], yyYpv[6]); break; ! 183: case 109: yyval = tree5(T_IFEL, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], NIL); break; ! 184: case 110: yyval = tree3(T_ASRT, lineof(yyYpv[1]), yyYpv[3]); break; ! 185: case 111: { ! 186: NSerror: ! 187: yyval = NIL; ! 188: Serror: ! 189: yyPerror("Malformed statement", PSTAT); ! 190: } break; ! 191: case 112: yyval = tree4(T_ASGN, lineof(yyYpv[2]), yyYpv[1], yyYpv[4]); break; ! 192: case 113: { ! 193: NEerror: ! 194: yyval = NIL; ! 195: Eerror: ! 196: yyPerror("Missing/malformed expression", PEXPR); ! 197: } break; ! 198: case 114: yyval = tree4(yyYpv[2], yyYpv[1][1] == SAWCON ? yyYpv[3][1] : yyYpv[1][1], yyYpv[1], yyYpv[3]); break; ! 199: case 115: yyval = tree3(T_PLUS, yyYpv[2][1], yyYpv[2]); break; ! 200: case 116: yyval = tree3(T_MINUS, yyYpv[2][1], yyYpv[2]); break; ! 201: case 117: yyval = tree4(yyYpv[2], yyYpv[1][1] == SAWCON ? yyYpv[3][1] : yyYpv[1][1], yyYpv[1], yyYpv[3]); break; ! 202: case 118: yyval = tree4(yyYpv[2], yyYpv[1][1] == SAWCON ? yyYpv[3][1] : yyYpv[1][1], yyYpv[1], yyYpv[3]); break; ! 203: case 119: yyval = tree2(T_NIL, NOCON); break; ! 204: case 120: yyval = tree3(T_STRNG, SAWCON, yyYpv[1]); break; ! 205: case 121: yyval = tree3(T_INT, NOCON, yyYpv[1]); break; ! 206: case 122: yyval = tree3(T_BINT, NOCON, yyYpv[1]); break; ! 207: case 123: yyval = tree3(T_FINT, NOCON, yyYpv[1]); break; ! 208: case 125: goto NEerror; break; ! 209: case 126: yyval = tree4(T_FCALL, NOCON, yyYpv[1], fixlist(yyYpv[3])); break; ! 210: case 127: yyval = yyYpv[2]; break; ! 211: case 128: yyval = tree3(T_NOT, NOCON, yyYpv[2]); break; ! 212: case 129: yyval = tree3(T_CSET, SAWCON, fixlist(yyYpv[2])); break; ! 213: case 130: yyval = tree3(T_CSET, SAWCON, NIL); break; ! 214: case 131: yyval = newlist(yyYpv[1]); break; ! 215: case 132: yyval = addlist(yyYpv[1], yyYpv[3]); break; ! 216: case 134: yyval = tree3(T_RANG, yyYpv[1], yyYpv[3]); break; ! 217: case 135: { ! 218: yyval = setupvar(yyYpv[1], NIL); ! 219: } break; ! 220: case 136: yyYpv[1][3] = fixlist(yyYpv[1][3]); break; ! 221: case 137: yyval = setupvar(yyYpv[1], tree2(T_ARY, fixlist(yyYpv[3]))); break; ! 222: case 138: yyYpv[1][3] = addlist(yyYpv[1][3], tree2(T_ARY, fixlist(yyYpv[3]))); break; ! 223: case 139: yyval = setupvar(yyYpv[1], tree3(T_FIELD, yyYpv[3], NIL)); break; ! 224: case 140: yyYpv[1][3] = addlist(yyYpv[1][3], tree3(T_FIELD, yyYpv[3], NIL)); break; ! 225: case 141: yyval = setupvar(yyYpv[1], tree1(T_PTR)); break; ! 226: case 142: yyYpv[1][3] = addlist(yyYpv[1][3], tree1(T_PTR)); break; ! 227: case 144: yyval = tree4(T_WEXP, yyYpv[1], yyYpv[3], NIL); break; ! 228: case 145: yyval = tree4(T_WEXP, yyYpv[1], yyYpv[3], yyYpv[5]); break; ! 229: case 146: yyval = tree4(T_WEXP, yyYpv[1], NIL, yyYpv[2]); break; ! 230: case 147: yyval = tree4(T_WEXP, yyYpv[1], yyYpv[3], yyYpv[4]); break; ! 231: case 148: yyval = OCT; break; ! 232: case 149: yyval = HEX; break; ! 233: case 150: yyval = newlist(yyYpv[1]); break; ! 234: case 151: yyval = addlist(yyYpv[1], yyYpv[3]); break; ! 235: case 152: yyval = newlist(yyYpv[1]); break; ! 236: case 153: yyval = addlist(yyYpv[1], yyYpv[3]); break; ! 237: case 154: yyval = T_EQ; break; ! 238: case 155: yyval = T_LT; break; ! 239: case 156: yyval = T_GT; break; ! 240: case 157: yyval = T_NE; break; ! 241: case 158: yyval = T_LE; break; ! 242: case 159: yyval = T_GE; break; ! 243: case 160: yyval = T_IN; break; ! 244: case 161: yyval = T_ADD; break; ! 245: case 162: yyval = T_SUB; break; ! 246: case 163: yyval = T_OR; break; ! 247: case 164: yyval = T_OR; break; ! 248: case 165: yyval = T_MULT; break; ! 249: case 166: yyval = T_DIVD; break; ! 250: case 167: yyval = T_DIV; break; ! 251: case 168: yyval = T_MOD; break; ! 252: case 169: yyval = T_AND; break; ! 253: case 170: yyval = T_AND; break; ! 254: case 173: yyval = newlist(yyYpv[1]); break; ! 255: case 174: yyval = addlist(yyYpv[1], yyYpv[3]); break; ! 256: case 175: yyval = newlist(yyYpv[1]); break; ! 257: case 176: yyval = addlist(yyYpv[1], yyYpv[3]); break; ! 258: case 178: { ! 259: yyval = tree3(T_TYID, lineof(yyline), yyYpv[1]); ! 260: } break; ! 261: } ! 262: } ! 263: ! 264: int yyact[] {0,-286,8195,4096,0,16384,4096,12295,-256,8198 ! 265: ,-273,8197,4096,-256,8201,-259,12315,-261,8207,-271 ! 266: ,12315,-277,8206,-285,12315,-293,8208,-295,8209,4096 ! 267: ,-40,8210,4096,12291,-259,8213,-271,8218,-285,8217 ! 268: ,4096,12293,12294,12296,-256,8220,-259,12297,-261,12297 ! 269: ,-271,12297,-273,8219,-277,12297,-285,12297,-293,12297 ! 270: ,-295,12297,4096,-256,8222,-259,12298,-261,12298,-271 ! 271: ,12298,-273,8221,-277,12298,-285,12298,-293,12298,-295 ! 272: ,12298,4096,-256,8224,-259,12299,-261,12299,-271,12299 ! 273: ,-273,8225,-277,12299,-285,12299,-293,12299,-295,12299 ! 274: ,4096,-276,8227,4096,-256,8229,-273,8228,4096,-256 ! 275: ,8231,-273,8230,4096,-256,8233,-273,8225,4096,-273 ! 276: ,8225,4096,-46,8235,4096,12316,-256,8252,-259,8243 ! 277: ,-260,8244,-267,12381,-269,8248,-272,8249,-273,8241 ! 278: ,-274,8250,-276,8239,-288,8247,-296,8246,-297,8245 ! 279: ,-301,8251,-59,12381,4096,-270,8258,12319,-273,8260 ! 280: ,4096,12321,12322,-61,8261,4096,12306,-61,8262,4096 ! 281: ,12310,-44,8264,-58,8263,4096,12314,12463,-59,8265 ! 282: ,-44,8266,4096,12301,-61,8267,4096,12305,-61,8268 ! 283: ,4096,12309,-44,8264,-58,8269,4096,12313,-41,8270 ! 284: ,-44,8264,4096,12289,-267,8271,-59,8272,4096,12371 ! 285: ,-256,8252,-259,8243,-260,8244,-267,12381,-269,8248 ! 286: ,-272,8249,-273,8241,-274,8250,-276,8239,-288,8247 ! 287: ,-294,12381,-296,8246,-297,8245,-301,8251,-59,12381 ! 288: ,4096,-58,8274,4096,-40,8275,12383,-256,8276,-266 ! 289: ,12472,-267,12472,-294,12472,-46,12470,-40,12472,-59 ! 290: ,12472,-58,12423,-94,12469,-91,12468,4096,12386,-256 ! 291: ,8279,-273,8288,-276,8284,-279,8293,-280,8286,-284 ! 292: ,8282,-290,8283,-298,8285,-43,8280,-45,8281,-40 ! 293: ,8290,-91,8292,-126,8294,4096,-273,8297,4096,-273 ! 294: ,8297,4096,-276,8301,4096,-40,8303,4096,12399,-58 ! 295: ,8304,4096,-46,8306,-94,8307,-91,8305,12424,-91 ! 296: ,8308,4096,-46,8309,4096,-94,8310,4096,-59,8311 ! 297: ,4096,-256,8201,-259,12315,-261,8207,-271,12315,-277 ! 298: ,8206,-285,12315,-293,8208,-295,8209,4096,-40,8314 ! 299: ,12324,-273,8324,-276,8321,-280,8323,-290,8316,-298 ! 300: ,8322,-43,8318,-45,8319,4096,-258,8333,-268,8334 ! 301: ,-273,8337,-276,8321,-280,8323,-283,8329,-287,8336 ! 302: ,-289,8335,-290,8316,-298,8322,-43,8318,-45,8319 ! 303: ,-40,8331,-94,8327,4096,-273,8339,4096,12300,-276 ! 304: ,8340,4096,-59,8344,4096,12292,12373,12372,-256,8279 ! 305: ,-273,8288,-276,8284,-279,8293,-280,8286,-284,8282 ! 306: ,-290,8283,-298,8285,-43,8280,-45,8281,-40,8290 ! 307: ,-91,8292,-126,8294,4096,12385,-267,8349,-59,8272 ! 308: ,4096,-257,8366,-262,8364,-275,8357,-278,8365,-281 ! 309: ,8350,-282,8360,-60,8355,-61,8354,-62,8356,-43 ! 310: ,8358,-45,8359,-124,8361,-42,8362,-47,8363,-38 ! 311: ,8367,4096,12401,12407,12408,12409,12410,12411,12412,-256 ! 312: ,8370,-257,12423,-262,12423,-263,12423,-264,12423,-265 ! 313: ,12423,-266,12423,-267,12423,-275,12423,-278,12423,-281 ! 314: ,12423,-282,12423,-291,12423,-292,12423,-294,12423,-299 ! 315: ,12423,-300,12423,-60,12423,-61,12423,-62,12423,-43 ! 316: ,12423,-45,12423,-124,12423,-42,12423,-47,12423,-38 ! 317: ,12423,-46,12470,-40,12473,-41,12423,-59,12423,-44 ! 318: ,12423,-58,12423,-94,12469,-91,12468,-93,12423,4096 ! 319: ,-40,8371,4096,-256,8279,-273,8288,-276,8284,-279 ! 320: ,8293,-280,8286,-284,8282,-290,8283,-298,8285,-43 ! 321: ,8280,-45,8281,-40,8290,-91,8292,-93,8375,-126 ! 322: ,8294,4096,12459,12460,-263,8378,-44,8379,4096,12461 ! 323: ,-46,12470,-94,12469,-91,12468,12423,-257,8366,-262 ! 324: ,8364,-263,8380,-275,8357,-278,8365,-282,8360,-60 ! 325: ,8355,-61,8354,-62,8356,-43,8358,-45,8359,-124 ! 326: ,8361,-42,8362,-47,8363,-38,8367,4096,-294,8381 ! 327: ,-59,8272,4096,-265,8382,-292,8383,4096,12394,-257 ! 328: ,8366,-262,8364,-275,8357,-278,8365,-282,8360,-291 ! 329: ,8384,-60,8355,-61,8354,-62,8356,-43,8358,-45 ! 330: ,8359,-124,8361,-42,8362,-47,8363,-38,8367,4096 ! 331: ,-61,8386,4096,-256,8279,-273,8288,-276,8284,-279 ! 332: ,8293,-280,8286,-284,8282,-290,8283,-298,8285,-43 ! 333: ,8280,-45,8281,-40,8290,-91,8292,-126,8294,4096 ! 334: ,-273,8390,4096,12430,12429,12317,-259,8213,-271,8218 ! 335: ,-285,8217,4096,-58,8395,12330,-271,8400,-273,8225 ! 336: ,-285,8401,-295,8399,4096,-59,8402,4096,12333,12334 ! 337: ,-273,8324,-276,8321,-280,8323,-298,8322,4096,12337 ! 338: ,12338,12339,12340,12465,-59,8405,4096,12343,-273,8406 ! 339: ,4096,12345,-258,8333,-268,8334,-287,8336,-289,8335 ! 340: ,4096,12347,-264,8409,4096,-91,8410,4096,-281,8411 ! 341: ,4096,-281,8412,4096,-273,8225,12360,-264,12465,12466 ! 342: ,-59,8417,4096,12464,12302,-59,8418,4096,-59,8419 ! 343: ,4096,-59,8420,4096,12290,12382,-41,8421,-44,8422 ! 344: ,4096,12440,-257,8366,-262,8364,-275,8357,-278,8365 ! 345: ,-282,8360,-299,8425,-300,8426,-60,8355,-61,8354 ! 346: ,-62,8356,-43,8358,-45,8359,-124,8361,-42,8362 ! 347: ,-47,8363,-38,8367,-58,8423,12431,12387,-256,8429 ! 348: ,-267,12380,-273,8324,-276,8321,-280,8323,-290,8316 ! 349: ,-298,8322,-302,8431,-43,8318,-45,8319,-59,12380 ! 350: ,4096,12442,-61,8437,-62,8436,12443,-61,8438,12444 ! 351: ,12448,12449,12450,12451,12452,12453,12454,12455,12456,12457 ! 352: ,12458,-257,8366,-262,8364,-278,8365,-42,8362,-47 ! 353: ,8363,-38,8367,12403,-257,8366,-262,8364,-278,8365 ! 354: ,-42,8362,-47,8363,-38,8367,12404,12413,-257,8366 ! 355: ,-262,8364,-275,8357,-278,8365,-282,8360,-60,8355 ! 356: ,-61,8354,-62,8356,-43,8358,-45,8359,-124,8361 ! 357: ,-42,8362,-47,8363,-38,8367,-41,8440,4096,12416 ! 358: ,-44,8442,-93,8441,4096,12418,12419,-257,8366,-262 ! 359: ,8364,-264,8443,-275,8357,-278,8365,-282,8360,-60 ! 360: ,8355,-61,8354,-62,8356,-43,8358,-45,8359,-124 ! 361: ,8361,-42,8362,-47,8363,-38,8367,12421,-273,8297 ! 362: ,4096,-257,8366,-262,8364,-275,8357,-278,8365,-282 ! 363: ,8360,-60,8355,-61,8354,-62,8356,-43,8358,-45 ! 364: ,8359,-124,8361,-42,8362,-47,8363,-38,8367,-41 ! 365: ,8451,4096,-44,8454,-93,8453,4096,-257,8366,-262 ! 366: ,8364,-275,8357,-278,8365,-282,8360,-60,8355,-61 ! 367: ,8354,-62,8356,-43,8358,-45,8359,-124,8361,-42 ! 368: ,8362,-47,8363,-38,8367,12438,12428,12471,-44,8454 ! 369: ,-93,8455,4096,12427,-59,8456,4096,-59,8457,4096 ! 370: ,-41,8459,-59,8460,4096,12331,-44,8264,-58,8461 ! 371: ,4096,12304,12335,12336,12308,12344,12346,-41,8465,-44 ! 372: ,8264,4096,-273,8337,-276,8321,-280,8323,-290,8316 ! 373: ,-298,8322,-43,8318,-45,8319,-40,8331,4096,-273 ! 374: ,8337,-276,8321,-280,8323,-290,8316,-298,8322,-43 ! 375: ,8318,-45,8319,-40,8331,4096,-267,8471,4096,-256 ! 376: ,8474,-260,8475,-267,12362,-41,12362,-59,8473,4096 ! 377: ,12357,-44,8264,-58,8476,4096,12312,12303,12307,12311 ! 378: ,12384,-256,8279,-273,8288,-276,8284,-279,8293,-280 ! 379: ,8286,-284,8282,-290,8283,-298,8285,-43,8280,-45 ! 380: ,8281,-40,8290,-91,8292,-126,8294,4096,12434,12436 ! 381: ,12437,-256,8480,-267,8481,-59,8479,4096,12374,12376 ! 382: ,-44,8482,-58,8483,4096,12341,-257,8366,-262,8364 ! 383: ,-275,4096,-278,8365,-282,8360,-60,4096,-61,4096 ! 384: ,-62,4096,-43,8358,-45,8359,-124,8361,-42,8362 ! 385: ,-47,8363,-38,8367,12402,-257,8366,-262,8364,-278 ! 386: ,8365,-42,8362,-47,8363,-38,8367,12405,12406,12445 ! 387: ,12446,12447,-41,8485,-44,8422,4096,12415,12417,-256 ! 388: ,8279,-273,8288,-276,8284,-279,8293,-280,8286,-284 ! 389: ,8282,-290,8283,-298,8285,-43,8280,-45,8281,-40 ! 390: ,8290,-91,8292,-126,8294,4096,12389,12462,12390,-257 ! 391: ,8366,-262,8364,-275,8357,-278,8365,-282,8360,-60 ! 392: ,8355,-61,8354,-62,8356,-43,8358,-45,8359,-124 ! 393: ,8361,-42,8362,-47,8363,-38,8367,12391,-257,8366 ! 394: ,-262,8364,-263,8488,-275,8357,-278,8365,-282,8360 ! 395: ,-60,8355,-61,8354,-62,8356,-43,8358,-45,8359 ! 396: ,-124,8361,-42,8362,-47,8363,-38,8367,4096,-257 ! 397: ,8366,-262,8364,-263,8489,-275,8357,-278,8365,-282 ! 398: ,8360,-60,8355,-61,8354,-62,8356,-43,8358,-45 ! 399: ,8359,-124,8361,-42,8362,-47,8363,-38,8367,4096 ! 400: ,-266,8490,12395,12398,-257,8366,-262,8364,-275,8357 ! 401: ,-278,8365,-282,8360,-60,8355,-61,8354,-62,8356 ! 402: ,-43,8358,-45,8359,-124,8361,-42,8362,-47,8363 ! 403: ,-38,8367,12400,12426,12425,12318,12320,12329,12323,-271 ! 404: ,8400,-273,8225,-285,8401,-295,8399,4096,-44,8264 ! 405: ,-58,8494,4096,-44,8264,-58,8495,4096,-44,8264 ! 406: ,12328,12348,12349,-44,8497,-93,8496,4096,12354,12351 ! 407: ,12352,12353,12356,-273,8225,12360,12359,-273,8500,4096 ! 408: ,12441,-257,8366,-262,8364,-275,8357,-278,8365,-282 ! 409: ,8360,-299,8425,-300,8426,-60,8355,-61,8354,-62 ! 410: ,8356,-43,8358,-45,8359,-124,8361,-42,8362,-47 ! 411: ,8363,-38,8367,-58,8502,12432,-273,8324,-276,8321 ! 412: ,-280,8323,-290,8316,-298,8322,-302,8431,-43,8318 ! 413: ,-45,8319,12380,12377,12388,12379,12414,12420,-257,8366 ! 414: ,-262,8364,-275,8357,-278,8365,-282,8360,-60,8355 ! 415: ,-61,8354,-62,8356,-43,8358,-45,8359,-124,8361 ! 416: ,-42,8362,-47,8363,-38,8367,12422,-256,8252,-259 ! 417: ,8243,-260,8244,-266,12381,-267,12381,-269,8248,-272 ! 418: ,8249,-273,8241,-274,8250,-276,8239,-288,8247,-294 ! 419: ,12381,-296,8246,-297,8245,-301,8251,-59,12381,4096 ! 420: ,-257,8366,-262,8364,-275,8357,-278,8365,-282,8360 ! 421: ,-60,8355,-61,8354,-62,8356,-43,8358,-45,8359 ! 422: ,-124,8361,-42,8362,-47,8363,-38,8367,12439,12332 ! 423: ,12325,-281,8512,4096,12358,-281,8514,4096,-58,8515 ! 424: ,12466,12361,12435,12375,12342,12378,12392,12393,12396,12326 ! 425: ,12327,12355,-273,8324,-276,8321,-280,8323,-290,8316 ! 426: ,-298,8322,-43,8318,-45,8319,12368,-273,8522,4096 ! 427: ,-257,8366,-262,8364,-275,8357,-278,8365,-282,8360 ! 428: ,-60,8355,-61,8354,-62,8356,-43,8358,-45,8359 ! 429: ,-124,8361,-42,8362,-47,8363,-38,8367,12433,12350 ! 430: ,-256,8524,-267,12363,-41,12363,-59,8523,4096,12365 ! 431: ,-44,8482,-58,8525,4096,-281,8526,4096,12466,-273 ! 432: ,8324,-276,8321,-280,8323,-290,8316,-298,8322,-43 ! 433: ,8318,-45,8319,12368,12367,-40,8528,4096,12366,-273 ! 434: ,8225,-41,8531,12360,-256,8524,-267,12364,-41,12364 ! 435: ,-59,8523,4096,-41,8532,4096,12370,12369,-1}; ! 436: ! 437: int yypact[] {0,1,4,7,8,13,30,33,34,41 ! 438: ,42,43,44,63,82,101,104,109,114,119 ! 439: ,122,125,126,155,7,158,161,162,163,166 ! 440: ,167,170,171,176,177,178,183,184,187,188 ! 441: ,191,192,197,198,203,204,209,210,241,244 ! 442: ,247,268,126,269,296,269,126,299,302,269 ! 443: ,305,308,309,312,319,322,325,328,331,348 ! 444: ,351,366,366,395,398,399,351,366,366,402 ! 445: ,405,406,407,210,408,435,436,441,472,269 ! 446: ,269,473,474,475,476,477,478,479,550,269 ! 447: ,269,553,582,583,584,589,590,597,628,633 ! 448: ,638,639,269,670,673,700,703,673,700,704 ! 449: ,705,706,713,716,725,728,729,730,730,739 ! 450: ,740,741,742,743,744,747,748,751,752,761 ! 451: ,119,762,765,768,771,774,777,780,783,784 ! 452: ,785,788,791,794,795,796,801,802,837,838 ! 453: ,269,269,269,861,862,867,870,871,872,873 ! 454: ,874,875,876,877,878,879,880,881,894,907 ! 455: ,408,908,939,940,945,946,947,210,978,210 ! 456: ,269,269,269,210,981,269,1012,1017,1046,1047 ! 457: ,1048,1053,1054,1057,366,1060,1065,1066,119,119 ! 458: ,119,1071,1072,1073,1074,1075,1076,1077,351,1082 ! 459: ,366,1099,1116,1119,1130,1131,1136,1137,1138,1139 ! 460: ,1140,1141,269,1168,1169,1170,1171,1178,1179,1180 ! 461: ,210,1185,1186,1215,1228,1229,1230,1231,1232,1237 ! 462: ,1238,1239,269,1266,1267,1268,1269,1298,1329,1360 ! 463: ,1363,1364,1393,269,1394,1395,1396,1397,1398,1399 ! 464: ,366,1408,1413,1418,1421,1422,1423,1428,1429,1430 ! 465: ,1431,1432,1433,1436,1437,366,1440,1441,1476,1493 ! 466: ,1494,351,210,1495,1496,1497,1498,210,210,1527 ! 467: ,1560,1589,1590,366,366,1591,1099,1594,1595,1598 ! 468: ,1601,269,1602,1603,1604,1605,1606,1607,1608,1609 ! 469: ,1610,366,1611,1612,1627,1630,1659,1660,1669,1670 ! 470: ,1675,1678,1679,1694,1695,1612,1698,1699,1704,1713 ! 471: ,1716,1717,-1}; ! 472: ! 473: int yyr1[] {0,1,2,2,5,3,3,3,8,8 ! 474: ,8,8,9,13,13,10,10,10,10,11 ! 475: ,11,11,11,12,12,12,12,4,4,16 ! 476: ,16,18,17,19,19,20,20,23,23,23 ! 477: ,23,21,21,22,22,14,14,14,14,24 ! 478: ,24,24,24,26,26,15,15,15,15,27 ! 479: ,27,27,28,28,28,28,30,30,31,32 ! 480: ,32,32,34,34,33,33,33,35,35,35 ! 481: ,36,36,36,7,7,38,39,39,39,39 ! 482: ,40,40,40,37,37,37,37,37,37,37 ! 483: ,37,37,37,37,37,37,37,37,37,37 ! 484: ,37,37,43,44,44,44,44,44,44,44 ! 485: ,44,44,44,44,44,44,44,44,44,44 ! 486: ,44,52,52,53,53,46,46,54,54,54 ! 487: ,54,54,54,60,60,60,60,60,61,61 ! 488: ,56,56,42,42,47,47,47,47,47,47 ! 489: ,47,48,48,48,48,49,49,49,49,49 ! 490: ,49,51,51,45,45,6,6,25,29,62 ! 491: ,55,59,57,58,41,50,-1}; ! 492: ! 493: int yyr2[] {0,5,6,2,3,2,2,0,1,1 ! 494: ,1,1,3,1,3,5,5,2,2,5 ! 495: ,5,2,2,5,5,2,2,0,2,3 ! 496: ,5,1,5,1,1,3,0,3,4,4 ! 497: ,2,2,0,1,3,1,1,2,2,1 ! 498: ,1,1,1,1,3,1,2,1,2,1 ! 499: ,3,3,6,3,3,3,1,3,2,1 ! 500: ,3,2,0,3,0,4,6,1,3,2 ! 501: ,0,5,4,1,2,2,1,3,1,2 ! 502: ,3,2,0,0,3,1,4,2,1,3 ! 503: ,5,4,4,4,6,6,2,4,6,5 ! 504: ,4,1,4,1,3,2,2,3,3,1 ! 505: ,1,1,1,1,1,2,4,3,2,3 ! 506: ,2,1,3,1,3,1,1,4,4,3 ! 507: ,3,2,2,1,3,5,2,4,1,1 ! 508: ,1,3,1,3,1,1,1,2,2,2 ! 509: ,1,1,1,1,1,1,1,1,1,1 ! 510: ,1,1,1,1,3,1,3,1,1,1 ! 511: ,1,1,1,1,1,1,-1}; ! 512: ! 513: int yygo[] {0,-1,1,-1,2,23,67,-1,4,67 ! 514: ,120,-1,7,120,201,-1,19,13,31,17 ! 515: ,40,18,42,122,206,139,216,207,270,208 ! 516: ,271,209,272,268,206,-1,224,51,85,55 ! 517: ,107,-1,44,-1,8,-1,10,-1,11,-1 ! 518: ,12,-1,13,-1,34,69,123,75,149,158 ! 519: ,240,217,274,287,240,290,313,322,240,331 ! 520: ,240,334,240,-1,140,71,146,76,150,77 ! 521: ,151,203,266,219,277,269,301,284,309,302 ! 522: ,318,303,319,320,325,-1,133,-1,20,-1 ! 523: ,22,-1,23,-1,24,-1,121,-1,202,-1 ! 524: ,204,268,300,-1,205,126,211,127,212,-1 ! 525: ,125,-1,128,158,238,287,238,-1,328,218 ! 526: ,276,220,278,305,321,-1,134,137,215,-1 ! 527: ,136,283,307,323,329,-1,138,-1,275,336 ! 528: ,338,-1,221,-1,222,-1,280,281,306,-1 ! 529: ,223,334,337,-1,326,331,335,-1,327,46 ! 530: ,81,82,153,186,252,188,254,192,258,239 ! 531: ,292,291,314,296,315,297,316,298,317,-1 ! 532: ,45,-1,46,-1,235,287,312,-1,236,-1 ! 533: ,48,179,247,-1,154,56,108,-1,50,52 ! 534: ,86,54,106,58,110,88,176,89,177,98 ! 535: ,180,99,181,100,185,111,193,113,196,116 ! 536: ,196,159,241,160,242,161,243,189,255,190 ! 537: ,256,191,257,194,260,231,286,250,185,251 ! 538: ,295,262,299,310,324,-1,156,-1,103,21 ! 539: ,61,46,61,51,61,53,104,55,61,56 ! 540: ,61,82,61,186,61,187,253,188,61,192 ! 541: ,61,239,61,291,61,296,61,297,61,298 ! 542: ,61,-1,95,-1,159,-1,160,-1,161,-1 ! 543: ,97,-1,99,-1,182,250,294,-1,184,-1 ! 544: ,62,-1,63,116,199,-1,195,-1,64,117 ! 545: ,200,-1,197,-1,65,230,285,-1,155,286 ! 546: ,311,-1,232,-1,-1,-1}; ! 547: ! 548: int yypgo[] {0,1,3,5,9,13,17,37,43,45 ! 549: ,47,49,51,53,55,75,97,99,101,103 ! 550: ,105,107,109,111,115,121,123,129,137,141 ! 551: ,147,149,153,155,157,161,165,169,191,193 ! 552: ,195,199,201,205,209,257,259,293,295,297 ! 553: ,299,301,303,305,309,311,313,317,319,323 ! 554: ,325,329,333,-1}; ! 555: ! 556: ! 557: yyEactr(__np__, var) ! 558: int __np__; ! 559: char *var; ! 560: { ! 561: switch(__np__) { ! 562: default: ! 563: return (1); ! 564: case 177: return (identis(var, CONST)); break; ! 565: case 179: return (identis(var, VAR)); break; ! 566: case 180: return (identis(var, ARRAY)); break; ! 567: case 181: return (identis(var, PTRFILE)); break; ! 568: case 182: return (identis(var, RECORD)); break; ! 569: case 183: return (identis(var, FIELD)); break; ! 570: case 184: return (identis(var, PROC)); break; ! 571: case 185: return (identis(var, FUNC)); break; ! 572: case 135: { ! 573: return (identis(var, VAR)); ! 574: } ! 575: break; ! 576: case 178: { ! 577: return (identis(var, TYPE)); ! 578: } ! 579: break; ! 580: } ! 581: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.