|
|
1.1 ! root 1: /* Copyright (c) 1979 Regents of the University of California */ ! 2: ! 3: static char sccsid[] = "@(#)pas.y 1.4 3/18/81"; ! 4: ! 5: #include "whoami.h" ! 6: #include "0.h" ! 7: #include "yy.h" ! 8: #include "tree.h" ! 9: ! 10: #ifdef PI ! 11: #define lineof(l) l ! 12: #define line2of(l) l ! 13: #endif ! 14: ! 15: extern yyerrflag; ! 16: ! 17: int *yyval; ! 18: int *yypv; ! 19: yyactr(__np__){ ! 20: register int **yyYpv; ! 21: register int *p, *q; ! 22: yyYpv = (int**)yypv; ! 23: ! 24: switch(__np__){ ! 25: ! 26: case 1: funcend(yyYpv[1], yyYpv[3], lineof(yyYpv[4])); break; ! 27: case 2: segend(); break; ! 28: case 3: yyval = (int*)funcbody(funchdr(tree5(T_PROG, lineof(yyYpv[1]), yyYpv[2], fixlist(yyYpv[4]), NIL))); break; ! 29: case 4: { ! 30: yyPerror("Malformed program statement", PPROG); ! 31: /* ! 32: * Should make a program statement ! 33: * with "input" and "output" here. ! 34: */ ! 35: yyval = (int*)funcbody(funchdr(tree5(T_PROG, lineof(yyYpv[1]), NIL, NIL, NIL))); ! 36: } break; ! 37: case 5: { ! 38: yyval = (int*)tree3(T_BSTL, lineof(yyYpv[1]), fixlist(yyYpv[2])); ! 39: if ((int)yyYpv[3] < 0) ! 40: brerror(yyYpv[1], "begin"); ! 41: } break; ! 42: case 6: trfree(); break; ! 43: case 7: { ! 44: Derror: ! 45: constend(), typeend(), varend(), trfree(); ! 46: yyPerror("Malformed declaration", PDECL); ! 47: } break; ! 48: case 8: trfree(); break; ! 49: case 10: constend(); break; ! 50: case 11: typeend(); break; ! 51: case 12: varend(); break; ! 52: case 14: label(fixlist(yyYpv[2]), lineof(yyYpv[1])); break; ! 53: case 15: yyval = (int*)newlist(yyYpv[1] == NIL ? NIL : *hash(yyYpv[1], 1)); break; ! 54: case 16: yyval = (int*)addlist(yyYpv[1], yyYpv[3] == NIL ? NIL : *hash(yyYpv[3], 1)); break; ! 55: case 17: constbeg(yyYpv[1], line2of(yyYpv[2])), const(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; ! 56: case 18: const(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; ! 57: case 19: { ! 58: constbeg(yyYpv[1], line2of(yyYpv[1])); ! 59: Cerror: ! 60: yyPerror("Malformed const declaration", PDECL); ! 61: } break; ! 62: case 20: goto Cerror; break; ! 63: case 21: typebeg(yyYpv[1], line2of(yyYpv[2])), type(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; ! 64: case 22: type(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; ! 65: case 23: { ! 66: typebeg(yyYpv[1], line2of(yyYpv[1])); ! 67: Terror: ! 68: yyPerror("Malformed type declaration", PDECL); ! 69: } break; ! 70: case 24: goto Terror; break; ! 71: case 25: varbeg(yyYpv[1], line2of(yyYpv[3])), var(lineof(yyYpv[3]), fixlist(yyYpv[2]), yyYpv[4]); break; ! 72: case 26: var(lineof(yyYpv[3]), fixlist(yyYpv[2]), yyYpv[4]); break; ! 73: case 27: { ! 74: varbeg(yyYpv[1], line2of(yyYpv[1])); ! 75: Verror: ! 76: yyPerror("Malformed var declaration", PDECL); ! 77: } break; ! 78: case 28: goto Verror; break; ! 79: case 29: funcfwd(yyYpv[1]); break; ! 80: case 30: funcext(yyYpv[1]); break; ! 81: case 31: funcend(yyYpv[1], yyYpv[3], lineof(yyYpv[4])); break; ! 82: case 32: funcbody(yyYpv[1]); break; ! 83: case 33: yyval = (int*)funchdr(tree5(yyYpv[1], lineof(yyYpv[5]), yyYpv[2], yyYpv[3], yyYpv[4])); break; ! 84: case 34: yyval = (int*)T_PDEC; break; ! 85: case 35: yyval = (int*)T_FDEC; break; ! 86: case 36: yyval = (int*)fixlist(yyYpv[2]); break; ! 87: case 37: yyval = (int*)NIL; break; ! 88: case 38: yyval = (int*)tree3(T_PVAL, fixlist(yyYpv[1]), yyYpv[3]); break; ! 89: case 39: yyval = (int*)tree3(T_PVAR, fixlist(yyYpv[2]), yyYpv[4]); break; ! 90: case 40: yyval = (int*)tree5(T_PFUNC, fixlist(yyYpv[2]), yyYpv[4], yyYpv[3], lineof(yyYpv[1])); break; ! 91: case 41: yyval = (int*)tree5(T_PPROC, fixlist(yyYpv[2]), yyYpv[4], yyYpv[3], lineof(yyYpv[1])); break; ! 92: case 42: yyval = (int*)yyYpv[2]; break; ! 93: case 43: yyval = (int*)NIL; break; ! 94: case 44: yyval = (int*)newlist(yyYpv[1]); break; ! 95: case 45: yyval = (int*)addlist(yyYpv[1], yyYpv[3]); break; ! 96: case 46: yyval = (int*)tree2(T_CSTRNG, yyYpv[1]); break; ! 97: case 48: yyval = (int*)tree2(T_PLUSC, yyYpv[2]); break; ! 98: case 49: yyval = (int*) tree2(T_MINUSC, yyYpv[2]); break; ! 99: case 50: yyval = (int*) tree2(T_ID, yyYpv[1]); break; ! 100: case 51: yyval = (int*) tree2(T_CINT, yyYpv[1]); break; ! 101: case 52: yyval = (int*) tree2(T_CBINT, yyYpv[1]); break; ! 102: case 53: yyval = (int*) tree2(T_CFINT, yyYpv[1]); break; ! 103: case 54: yyval = (int*) newlist(yyYpv[1]); break; ! 104: case 55: yyval = (int*) addlist(yyYpv[1], yyYpv[3]); break; ! 105: case 57: yyval = (int*) tree3(T_TYPTR, lineof(yyYpv[1]), tree2(T_ID, yyYpv[2])); break; ! 106: case 59: yyval = (int*) tree3(T_TYPACK, lineof(yyYpv[1]), yyYpv[2]); break; ! 107: case 61: yyval = (int*) tree3(T_TYSCAL, lineof(yyYpv[1]), fixlist(yyYpv[2])); break; ! 108: case 62: yyval = (int*) tree4(T_TYRANG, lineof(yyYpv[2]), yyYpv[1], yyYpv[3]); break; ! 109: case 63: yyval = (int*) tree4(T_TYARY, lineof(yyYpv[1]), fixlist(yyYpv[3]), yyYpv[6]); break; ! 110: case 64: yyval = (int*) tree3(T_TYFILE, lineof(yyYpv[1]), yyYpv[3]); break; ! 111: case 65: yyval = (int*) tree3(T_TYSET, lineof(yyYpv[1]), yyYpv[3]); break; ! 112: case 66: { ! 113: yyval = (int*) setuptyrec( lineof( yyYpv[1] ) , yyYpv[2] ); ! 114: if ((int)yyYpv[3] < 0) ! 115: brerror(yyYpv[1], "record"); ! 116: } break; ! 117: case 67: yyval = (int*) newlist(yyYpv[1]); break; ! 118: case 68: yyval = (int*) addlist(yyYpv[1], yyYpv[3]); break; ! 119: case 69: yyval = (int*) tree4(T_FLDLST, lineof(NIL), fixlist(yyYpv[1]), yyYpv[2]); break; ! 120: case 70: yyval = (int*) newlist(yyYpv[1]); break; ! 121: case 71: yyval = (int*) addlist(yyYpv[1], yyYpv[3]); break; ! 122: case 72: yyPerror("Malformed record declaration", PDECL); break; ! 123: case 73: yyval = (int*) NIL; break; ! 124: case 74: yyval = (int*) tree4(T_RFIELD, lineof(yyYpv[2]), fixlist(yyYpv[1]), yyYpv[3]); break; ! 125: case 75: yyval = (int*) NIL; break; ! 126: case 76: yyval = (int*) tree5(T_TYVARPT, lineof(yyYpv[1]), NIL, yyYpv[2], fixlist(yyYpv[4])); break; ! 127: case 77: yyval = (int*) tree5(T_TYVARPT, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], fixlist(yyYpv[6])); break; ! 128: case 78: yyval = (int*) newlist(yyYpv[1]); break; ! 129: case 79: yyval = (int*) addlist(yyYpv[1], yyYpv[3]); break; ! 130: case 80: yyPerror("Malformed record declaration", PDECL); break; ! 131: case 81: yyval = (int*) NIL; break; ! 132: case 82: yyval = (int*) tree4(T_TYVARNT, lineof(yyYpv[2]), fixlist(yyYpv[1]), yyYpv[4]); break; ! 133: case 83: yyval = (int*) tree4(T_TYVARNT, lineof(yyYpv[2]), fixlist(yyYpv[1]), NIL); break; ! 134: case 84: yyval = (int*) newlist(yyYpv[1]); break; ! 135: case 85: { ! 136: if ((p = yyYpv[1]) != NIL && (q = (int*)p[1])[0] == T_IFX) { ! 137: q[0] = T_IFEL; ! 138: q[4] = (int)yyYpv[2]; ! 139: } else ! 140: yyval = (int*) addlist(yyYpv[1], yyYpv[2]); ! 141: } break; ! 142: case 86: if ((q = yyYpv[1]) != NIL && (p = (int*)q[1]) != NIL && p[0] == T_IF) { ! 143: if (yychar < 0) ! 144: yychar = yylex(); ! 145: if (yyshifts >= 2 && yychar == YELSE) { ! 146: recovered(); ! 147: copy(&Y, &OY, sizeof Y); ! 148: yerror("Deleted ';' before keyword else"); ! 149: yychar = yylex(); ! 150: p[0] = T_IFX; ! 151: } ! 152: } break; ! 153: case 87: yyval = (int*) newlist(yyYpv[1]); break; ! 154: case 88: yyval = (int*) addlist(yyYpv[1], yyYpv[3]); break; ! 155: case 89: { ! 156: yyval = (int*) NIL; ! 157: Kerror: ! 158: yyPerror("Malformed statement in case", PSTAT); ! 159: } break; ! 160: case 90: goto Kerror; break; ! 161: case 91: yyval = (int*) tree4(T_CSTAT, lineof(yyYpv[2]), fixlist(yyYpv[1]), yyYpv[3]); break; ! 162: case 92: yyval = (int*) tree4(T_CSTAT, lineof(yyYpv[1]), NIL, yyYpv[2]); break; ! 163: case 93: yyval = (int*) tree4(T_OTHERCASE, lineof(yyYpv[2]), NIL, yyYpv[3]); break; ! 164: case 94: yyval = (int*) NIL; break; ! 165: case 95: yyval = (int*) NIL; break; ! 166: case 96: yyval = (int*) tree4(T_LABEL, lineof(yyYpv[2]), yyYpv[1] == NIL ? NIL : *hash(yyYpv[1], 1), yyYpv[3]); break; ! 167: case 97: yyval = (int*) tree4(T_PCALL, lineof(yyline), yyYpv[1], NIL); break; ! 168: case 98: yyval = (int*) tree4(T_PCALL, lineof(yyYpv[2]), yyYpv[1], fixlist(yyYpv[3])); break; ! 169: case 99: goto NSerror; break; ! 170: case 101: { ! 171: yyval = (int*) tree3(T_BLOCK, lineof(yyYpv[1]), fixlist(yyYpv[2])); ! 172: if ((int)yyYpv[3] < 0) ! 173: brerror(yyYpv[1], "begin"); ! 174: } break; ! 175: case 102: { ! 176: yyval = (int*) tree4(T_CASE, lineof(yyYpv[1]), yyYpv[2], fixlist(yyYpv[4])); ! 177: if ((int)yyYpv[5] < 0) ! 178: brerror(yyYpv[1], "case"); ! 179: } break; ! 180: case 103: yyval = (int*) tree4(T_WITH, lineof(yyYpv[1]), fixlist(yyYpv[2]), yyYpv[4]); break; ! 181: case 104: yyval = (int*) tree4(T_WHILE, lineof(yyYpv[1]), yyYpv[2], yyYpv[4]); break; ! 182: case 105: yyval = (int*) tree4(T_REPEAT, lineof(yyYpv[3]), fixlist(yyYpv[2]), yyYpv[4]); break; ! 183: case 106: yyval = (int*) tree5(T_FORU, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], yyYpv[6]); break; ! 184: case 107: yyval = (int*) tree5(T_FORD, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], yyYpv[6]); break; ! 185: case 108: yyval = (int*) tree3(T_GOTO, lineof(yyYpv[1]), *hash(yyYpv[2], 1)); break; ! 186: case 109: yyval = (int*) tree5(T_IF, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], NIL); break; ! 187: case 110: yyval = (int*) tree5(T_IFEL, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], yyYpv[6]); break; ! 188: case 111: yyval = (int*) tree5(T_IFEL, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], NIL); break; ! 189: case 112: yyval = (int*) tree3(T_ASRT, lineof(yyYpv[1]), yyYpv[3]); break; ! 190: case 113: { ! 191: NSerror: ! 192: yyval = (int*) NIL; ! 193: Serror: ! 194: yyPerror("Malformed statement", PSTAT); ! 195: } break; ! 196: case 114: yyval = (int*) tree4(T_ASGN, lineof(yyYpv[2]), yyYpv[1], yyYpv[4]); break; ! 197: case 115: { ! 198: NEerror: ! 199: yyval = (int*) NIL; ! 200: Eerror: ! 201: yyPerror("Missing/malformed expression", PEXPR); ! 202: } break; ! 203: case 116: yyval = (int*) tree4(yyYpv[2], yyYpv[1][1] == SAWCON ? yyYpv[3][1] : yyYpv[1][1], yyYpv[1], yyYpv[3]); break; ! 204: case 117: yyval = (int*) tree3(T_PLUS, yyYpv[2][1], yyYpv[2]); break; ! 205: case 118: yyval = (int*) tree3(T_MINUS, yyYpv[2][1], yyYpv[2]); break; ! 206: case 119: yyval = (int*) tree4(yyYpv[2], yyYpv[1][1] == SAWCON ? yyYpv[3][1] : yyYpv[1][1], yyYpv[1], yyYpv[3]); break; ! 207: case 120: yyval = (int*) tree4(yyYpv[2], yyYpv[1][1] == SAWCON ? yyYpv[3][1] : yyYpv[1][1], yyYpv[1], yyYpv[3]); break; ! 208: case 121: yyval = (int*) tree2(T_NIL, NOCON); break; ! 209: case 122: yyval = (int*) tree3(T_STRNG, SAWCON, yyYpv[1]); break; ! 210: case 123: yyval = (int*) tree3(T_INT, NOCON, yyYpv[1]); break; ! 211: case 124: yyval = (int*) tree3(T_BINT, NOCON, yyYpv[1]); break; ! 212: case 125: yyval = (int*) tree3(T_FINT, NOCON, yyYpv[1]); break; ! 213: case 127: goto NEerror; break; ! 214: case 128: yyval = (int*) tree4(T_FCALL, NOCON, yyYpv[1], fixlist(yyYpv[3])); break; ! 215: case 129: yyval = (int*) yyYpv[2]; break; ! 216: case 130: yyval = (int*) tree3(T_NOT, NOCON, yyYpv[2]); break; ! 217: case 131: yyval = (int*) tree3(T_CSET, SAWCON, fixlist(yyYpv[2])); break; ! 218: case 132: yyval = (int*) tree3(T_CSET, SAWCON, NIL); break; ! 219: case 133: yyval = (int*) newlist(yyYpv[1]); break; ! 220: case 134: yyval = (int*) addlist(yyYpv[1], yyYpv[3]); break; ! 221: case 136: yyval = (int*) tree3(T_RANG, yyYpv[1], yyYpv[3]); break; ! 222: case 137: { ! 223: yyval = (int*) setupvar(yyYpv[1], NIL); ! 224: } break; ! 225: case 138: yyYpv[1][3] = fixlist(yyYpv[1][3]); break; ! 226: case 139: yyval = (int*) setupvar(yyYpv[1], tree2(T_ARY, fixlist(yyYpv[3]))); break; ! 227: case 140: yyYpv[1][3] = addlist(yyYpv[1][3], tree2(T_ARY, fixlist(yyYpv[3]))); break; ! 228: case 141: yyval = (int*) setupvar(yyYpv[1], setupfield(yyYpv[3], NIL)); break; ! 229: case 142: yyYpv[1][3] = addlist(yyYpv[1][3], setupfield(yyYpv[3], NIL)); break; ! 230: case 143: yyval = (int*) setupvar(yyYpv[1], tree1(T_PTR)); break; ! 231: case 144: yyYpv[1][3] = addlist(yyYpv[1][3], tree1(T_PTR)); break; ! 232: case 146: yyval = (int*) tree4(T_WEXP, yyYpv[1], yyYpv[3], NIL); break; ! 233: case 147: yyval = (int*) tree4(T_WEXP, yyYpv[1], yyYpv[3], yyYpv[5]); break; ! 234: case 148: yyval = (int*) tree4(T_WEXP, yyYpv[1], NIL, yyYpv[2]); break; ! 235: case 149: yyval = (int*) tree4(T_WEXP, yyYpv[1], yyYpv[3], yyYpv[4]); break; ! 236: case 150: yyval = (int*) OCT; break; ! 237: case 151: yyval = (int*) HEX; break; ! 238: case 152: yyval = (int*) newlist(yyYpv[1]); break; ! 239: case 153: yyval = (int*) addlist(yyYpv[1], yyYpv[3]); break; ! 240: case 154: yyval = (int*) newlist(yyYpv[1]); break; ! 241: case 155: yyval = (int*) addlist(yyYpv[1], yyYpv[3]); break; ! 242: case 156: yyval = (int*) T_EQ; break; ! 243: case 157: yyval = (int*) T_LT; break; ! 244: case 158: yyval = (int*) T_GT; break; ! 245: case 159: yyval = (int*) T_NE; break; ! 246: case 160: yyval = (int*) T_LE; break; ! 247: case 161: yyval = (int*) T_GE; break; ! 248: case 162: yyval = (int*) T_IN; break; ! 249: case 163: yyval = (int*) T_ADD; break; ! 250: case 164: yyval = (int*) T_SUB; break; ! 251: case 165: yyval = (int*) T_OR; break; ! 252: case 166: yyval = (int*) T_OR; break; ! 253: case 167: yyval = (int*) T_MULT; break; ! 254: case 168: yyval = (int*) T_DIVD; break; ! 255: case 169: yyval = (int*) T_DIV; break; ! 256: case 170: yyval = (int*) T_MOD; break; ! 257: case 171: yyval = (int*) T_AND; break; ! 258: case 172: yyval = (int*) T_AND; break; ! 259: case 175: yyval = (int*) newlist(yyYpv[1]); break; ! 260: case 176: yyval = (int*) addlist(yyYpv[1], yyYpv[3]); break; ! 261: case 177: yyval = (int*) newlist(yyYpv[1]); break; ! 262: case 178: yyval = (int*) addlist(yyYpv[1], yyYpv[3]); break; ! 263: case 180: { ! 264: yyval = (int*) tree3(T_TYID, lineof(yyline), yyYpv[1]); ! 265: } break; ! 266: } ! 267: } ! 268: ! 269: int yyact[] = {0,-286,8196,12296,0,16384,4096,12296,0,12290 ! 270: ,-256,8199,-261,8206,-271,8213,-277,8205,-285,8212 ! 271: ,-293,8207,-295,8208,4096,-256,8215,-273,8214,4096 ! 272: ,-256,8199,-259,8217,-261,8206,-271,8213,-277,8205 ! 273: ,-285,8212,-293,8207,-295,8208,4096,12294,12295,12297 ! 274: ,0,12298,-256,8219,-259,12298,-261,12298,-271,12298 ! 275: ,-273,8218,-277,12298,-285,12298,-293,12298,-295,12298 ! 276: ,4096,0,12299,-256,8221,-259,12299,-261,12299,-271 ! 277: ,12299,-273,8220,-277,12299,-285,12299,-293,12299,-295 ! 278: ,12299,4096,0,12300,-256,8223,-259,12300,-261,12300 ! 279: ,-271,12300,-273,8224,-277,12300,-285,12300,-293,12300 ! 280: ,-295,12300,4096,12301,-276,8226,4096,-256,8228,-273 ! 281: ,8227,4096,-256,8230,-273,8229,4096,-256,8232,-273 ! 282: ,8224,4096,-270,8233,-304,8234,12320,-273,8236,4096 ! 283: ,12322,12323,-40,8237,4096,12292,-46,8238,4096,-256 ! 284: ,8255,-259,8246,-260,8247,-267,12383,-269,8251,-272 ! 285: ,8252,-273,8244,-274,8253,-276,8242,-288,8250,-296 ! 286: ,8249,-297,8248,-301,8254,-59,12383,4096,-61,8261 ! 287: ,4096,12308,-61,8262,4096,12312,-44,8264,-58,8263 ! 288: ,4096,12316,12465,-59,8265,-44,8266,4096,12303,-61 ! 289: ,8267,4096,12307,-61,8268,4096,12311,-44,8264,-58 ! 290: ,8269,4096,12315,-59,8270,4096,-59,8271,4096,-256 ! 291: ,8199,-259,8217,-261,8206,-271,8213,-277,8205,-285 ! 292: ,8212,-293,8207,-295,8208,4096,-40,8274,12325,-273 ! 293: ,8224,4096,12289,-267,8276,-59,8277,4096,12372,-256 ! 294: ,8255,-259,8246,-260,8247,-267,12383,-269,8251,-272 ! 295: ,8252,-273,8244,-274,8253,-276,8242,-288,8250,-294 ! 296: ,12383,-296,8249,-297,8248,-301,8254,-59,12383,4096 ! 297: ,-58,8279,4096,-40,8280,12385,-256,8281,-266,12474 ! 298: ,-267,12474,-294,12474,-46,12472,-40,12474,-59,12474 ! 299: ,-58,12425,-94,12471,-91,12470,4096,12388,-256,8284 ! 300: ,-273,8293,-276,8289,-279,8298,-280,8291,-284,8287 ! 301: ,-290,8288,-298,8290,-43,8285,-45,8286,-40,8295 ! 302: ,-91,8297,-126,8299,4096,-273,8302,4096,-273,8302 ! 303: ,4096,-276,8306,4096,-40,8308,4096,12401,-58,8309 ! 304: ,4096,-46,8311,-94,8312,-91,8310,12426,-91,8313 ! 305: ,4096,-46,8314,4096,-94,8315,4096,-273,8325,-276 ! 306: ,8322,-280,8324,-290,8317,-298,8323,-43,8319,-45 ! 307: ,8320,4096,-258,8334,-268,8335,-273,8338,-276,8322 ! 308: ,-280,8324,-283,8330,-287,8337,-289,8336,-290,8317 ! 309: ,-298,8323,-43,8319,-45,8320,-40,8332,-94,8328 ! 310: ,4096,-273,8340,4096,12302,-276,8341,4096,12317,12318 ! 311: ,-59,8345,4096,-58,8347,12331,-271,8352,-273,8224 ! 312: ,-285,8353,-295,8351,4096,-41,8354,-44,8264,4096 ! 313: ,12293,12374,12373,-256,8284,-273,8293,-276,8289,-279 ! 314: ,8298,-280,8291,-284,8287,-290,8288,-298,8290,-43 ! 315: ,8285,-45,8286,-40,8295,-91,8297,-126,8299,4096 ! 316: ,12387,-267,8359,-59,8277,4096,-257,8376,-262,8374 ! 317: ,-275,8367,-278,8375,-281,8360,-282,8370,-60,8365 ! 318: ,-61,8364,-62,8366,-43,8368,-45,8369,-124,8371 ! 319: ,-42,8372,-47,8373,-38,8377,4096,12403,12409,12410 ! 320: ,12411,12412,12413,12414,-256,8380,-257,12425,-262,12425 ! 321: ,-263,12425,-264,12425,-265,12425,-266,12425,-267,12425 ! 322: ,-275,12425,-278,12425,-281,12425,-282,12425,-291,12425 ! 323: ,-292,12425,-294,12425,-299,12425,-300,12425,-60,12425 ! 324: ,-61,12425,-62,12425,-43,12425,-45,12425,-124,12425 ! 325: ,-42,12425,-47,12425,-38,12425,-46,12472,-40,12475 ! 326: ,-41,12425,-59,12425,-44,12425,-58,12425,-94,12471 ! 327: ,-91,12470,-93,12425,4096,-40,8381,4096,-256,8284 ! 328: ,-273,8293,-276,8289,-279,8298,-280,8291,-284,8287 ! 329: ,-290,8288,-298,8290,-43,8285,-45,8286,-40,8295 ! 330: ,-91,8297,-93,8385,-126,8299,4096,12461,12462,-263 ! 331: ,8388,-44,8389,4096,12463,-46,12472,-94,12471,-91 ! 332: ,12470,12425,-257,8376,-262,8374,-263,8390,-275,8367 ! 333: ,-278,8375,-282,8370,-60,8365,-61,8364,-62,8366 ! 334: ,-43,8368,-45,8369,-124,8371,-42,8372,-47,8373 ! 335: ,-38,8377,4096,-294,8391,-59,8277,4096,-265,8392 ! 336: ,-292,8393,4096,12396,-257,8376,-262,8374,-275,8367 ! 337: ,-278,8375,-282,8370,-291,8394,-60,8365,-61,8364 ! 338: ,-62,8366,-43,8368,-45,8369,-124,8371,-42,8372 ! 339: ,-47,8373,-38,8377,4096,-61,8396,4096,-256,8284 ! 340: ,-273,8293,-276,8289,-279,8298,-280,8291,-284,8287 ! 341: ,-290,8288,-298,8290,-43,8285,-45,8286,-40,8295 ! 342: ,-91,8297,-126,8299,4096,-273,8400,4096,12432,12431 ! 343: ,-59,8403,4096,12334,12335,-273,8325,-276,8322,-280 ! 344: ,8324,-298,8323,4096,12338,12339,12340,12341,12467,-59 ! 345: ,8406,4096,12344,-273,8407,4096,12346,-258,8334,-268 ! 346: ,8335,-287,8337,-289,8336,4096,12348,-264,8410,4096 ! 347: ,-91,8411,4096,-281,8412,4096,-281,8413,4096,-273 ! 348: ,8224,12361,-264,12467,12468,-59,8418,4096,12466,12304 ! 349: ,-59,8419,4096,-59,8420,4096,-59,8421,4096,12319 ! 350: ,-59,8422,4096,-41,8424,-59,8425,4096,12332,-44 ! 351: ,8264,-58,8426,4096,-59,8430,4096,12384,-41,8431 ! 352: ,-44,8432,4096,12442,-257,8376,-262,8374,-275,8367 ! 353: ,-278,8375,-282,8370,-299,8435,-300,8436,-60,8365 ! 354: ,-61,8364,-62,8366,-43,8368,-45,8369,-124,8371 ! 355: ,-42,8372,-47,8373,-38,8377,-58,8433,12433,12389 ! 356: ,-256,8439,-267,12382,-273,8325,-276,8322,-280,8324 ! 357: ,-290,8317,-298,8323,-302,8441,-306,8442,-43,8319 ! 358: ,-45,8320,-59,12382,4096,12444,-61,8448,-62,8447 ! 359: ,12445,-61,8449,12446,12450,12451,12452,12453,12454,12455 ! 360: ,12456,12457,12458,12459,12460,-257,8376,-262,8374,-278 ! 361: ,8375,-42,8372,-47,8373,-38,8377,12405,-257,8376 ! 362: ,-262,8374,-278,8375,-42,8372,-47,8373,-38,8377 ! 363: ,12406,12415,-257,8376,-262,8374,-275,8367,-278,8375 ! 364: ,-282,8370,-60,8365,-61,8364,-62,8366,-43,8368 ! 365: ,-45,8369,-124,8371,-42,8372,-47,8373,-38,8377 ! 366: ,-41,8451,4096,12418,-44,8453,-93,8452,4096,12420 ! 367: ,12421,-257,8376,-262,8374,-264,8454,-275,8367,-278 ! 368: ,8375,-282,8370,-60,8365,-61,8364,-62,8366,-43 ! 369: ,8368,-45,8369,-124,8371,-42,8372,-47,8373,-38 ! 370: ,8377,12423,-273,8302,4096,-257,8376,-262,8374,-275 ! 371: ,8367,-278,8375,-282,8370,-60,8365,-61,8364,-62 ! 372: ,8366,-43,8368,-45,8369,-124,8371,-42,8372,-47 ! 373: ,8373,-38,8377,-41,8462,4096,-44,8465,-93,8464 ! 374: ,4096,-257,8376,-262,8374,-275,8367,-278,8375,-282 ! 375: ,8370,-60,8365,-61,8364,-62,8366,-43,8368,-45 ! 376: ,8369,-124,8371,-42,8372,-47,8373,-38,8377,12440 ! 377: ,12430,12473,-44,8465,-93,8466,4096,12429,12306,12336 ! 378: ,12337,12310,12345,12347,-41,8467,-44,8264,4096,-273 ! 379: ,8338,-276,8322,-280,8324,-290,8317,-298,8323,-43 ! 380: ,8319,-45,8320,-40,8332,4096,-273,8338,-276,8322 ! 381: ,-280,8324,-290,8317,-298,8323,-43,8319,-45,8320 ! 382: ,-40,8332,4096,-267,8473,4096,-256,8476,-260,8477 ! 383: ,-267,12363,-41,12363,-59,8475,4096,12358,-44,8264 ! 384: ,-58,8478,4096,12314,12305,12309,12313,12321,12330,12324 ! 385: ,-271,8352,-273,8224,-285,8353,-295,8351,4096,-44 ! 386: ,8264,-58,8481,4096,-40,8274,-44,8264,12325,-40 ! 387: ,8274,-44,8264,12325,12291,12386,-256,8284,-273,8293 ! 388: ,-276,8289,-279,8298,-280,8291,-284,8287,-290,8288 ! 389: ,-298,8290,-43,8285,-45,8286,-40,8295,-91,8297 ! 390: ,-126,8299,4096,12436,12438,12439,-256,8487,-267,8488 ! 391: ,-59,8486,4096,12375,12377,-44,8489,-58,8490,4096 ! 392: ,-58,8492,4096,12342,-257,8376,-262,8374,-275,4096 ! 393: ,-278,8375,-282,8370,-60,4096,-61,4096,-62,4096 ! 394: ,-43,8368,-45,8369,-124,8371,-42,8372,-47,8373 ! 395: ,-38,8377,12404,-257,8376,-262,8374,-278,8375,-42 ! 396: ,8372,-47,8373,-38,8377,12407,12408,12447,12448,12449 ! 397: ,-41,8493,-44,8432,4096,12417,12419,-256,8284,-273 ! 398: ,8293,-276,8289,-279,8298,-280,8291,-284,8287,-290 ! 399: ,8288,-298,8290,-43,8285,-45,8286,-40,8295,-91 ! 400: ,8297,-126,8299,4096,12391,12464,12392,-257,8376,-262 ! 401: ,8374,-275,8367,-278,8375,-282,8370,-60,8365,-61 ! 402: ,8364,-62,8366,-43,8368,-45,8369,-124,8371,-42 ! 403: ,8372,-47,8373,-38,8377,12393,-257,8376,-262,8374 ! 404: ,-263,8496,-275,8367,-278,8375,-282,8370,-60,8365 ! 405: ,-61,8364,-62,8366,-43,8368,-45,8369,-124,8371 ! 406: ,-42,8372,-47,8373,-38,8377,4096,-257,8376,-262 ! 407: ,8374,-263,8497,-275,8367,-278,8375,-282,8370,-60 ! 408: ,8365,-61,8364,-62,8366,-43,8368,-45,8369,-124 ! 409: ,8371,-42,8372,-47,8373,-38,8377,4096,-266,8498 ! 410: ,12397,12400,-257,8376,-262,8374,-275,8367,-278,8375 ! 411: ,-282,8370,-60,8365,-61,8364,-62,8366,-43,8368 ! 412: ,-45,8369,-124,8371,-42,8372,-47,8373,-38,8377 ! 413: ,12402,12428,12427,12349,12350,-44,8501,-93,8500,4096 ! 414: ,12355,12352,12353,12354,12357,-273,8224,12361,12360,-273 ! 415: ,8504,4096,12333,12326,12443,-257,8376,-262,8374,-275 ! 416: ,8367,-278,8375,-282,8370,-299,8435,-300,8436,-60 ! 417: ,8365,-61,8364,-62,8366,-43,8368,-45,8369,-124 ! 418: ,8371,-42,8372,-47,8373,-38,8377,-58,8509,12434 ! 419: ,-273,8325,-276,8322,-280,8324,-290,8317,-298,8323 ! 420: ,-302,8441,-306,8442,-43,8319,-45,8320,12382,12378 ! 421: ,12390,12380,12416,12422,-257,8376,-262,8374,-275,8367 ! 422: ,-278,8375,-282,8370,-60,8365,-61,8364,-62,8366 ! 423: ,-43,8368,-45,8369,-124,8371,-42,8372,-47,8373 ! 424: ,-38,8377,12424,-256,8255,-259,8246,-260,8247,-266 ! 425: ,12383,-267,12383,-269,8251,-272,8252,-273,8244,-274 ! 426: ,8253,-276,8242,-288,8250,-294,12383,-296,8249,-297 ! 427: ,8248,-301,8254,-59,12383,4096,-257,8376,-262,8374 ! 428: ,-275,8367,-278,8375,-282,8370,-60,8365,-61,8364 ! 429: ,-62,8366,-43,8368,-45,8369,-124,8371,-42,8372 ! 430: ,-47,8373,-38,8377,12441,-281,8518,4096,12359,-281 ! 431: ,8520,4096,-58,8521,12468,12362,12327,12328,12329,12437 ! 432: ,12376,12343,12379,12381,12394,12395,12398,12356,-273,8325 ! 433: ,-276,8322,-280,8324,-290,8317,-298,8323,-43,8319 ! 434: ,-45,8320,12369,-273,8528,4096,-257,8376,-262,8374 ! 435: ,-275,8367,-278,8375,-282,8370,-60,8365,-61,8364 ! 436: ,-62,8366,-43,8368,-45,8369,-124,8371,-42,8372 ! 437: ,-47,8373,-38,8377,12435,12351,-256,8530,-267,12364 ! 438: ,-41,12364,-59,8529,4096,12366,-44,8489,-58,8531 ! 439: ,4096,-281,8532,4096,12468,-273,8325,-276,8322,-280 ! 440: ,8324,-290,8317,-298,8323,-43,8319,-45,8320,12369 ! 441: ,12368,-40,8534,4096,12367,-273,8224,-41,8537,12361 ! 442: ,-256,8530,-267,12365,-41,12365,-59,8529,4096,-41 ! 443: ,8538,4096,12371,12370,-1}; ! 444: ! 445: int yypact[] = {0,1,4,7,8,25,30,47,48,49 ! 446: ,50,71,92,113,114,117,122,127,132,7 ! 447: ,137,140,141,142,145,146,149,178,181,182 ! 448: ,185,186,191,192,193,198,199,202,203,206 ! 449: ,207,212,213,216,219,236,239,242,243,248 ! 450: ,249,280,283,286,307,149,308,335,308,149 ! 451: ,338,341,308,344,347,348,351,358,361,364 ! 452: ,367,382,382,411,414,415,367,382,382,418 ! 453: ,419,420,423,426,435,440,441,442,249,443 ! 454: ,470,471,476,507,308,308,508,509,510,511 ! 455: ,512,513,514,585,308,308,588,617,618,619 ! 456: ,624,625,632,663,668,673,674,308,705,708 ! 457: ,735,738,708,735,739,740,743,744,745,745 ! 458: ,754,755,756,757,758,759,762,763,766,767 ! 459: ,776,239,777,780,783,786,789,792,795,798 ! 460: ,799,800,803,806,809,810,382,813,818,819 ! 461: ,239,239,239,824,827,828,833,834,869,870 ! 462: ,308,308,308,895,896,901,904,905,906,907 ! 463: ,908,909,910,911,912,913,914,915,928,941 ! 464: ,443,942,973,974,979,980,981,249,1012,249 ! 465: ,308,308,308,249,1015,308,1046,1051,1080,1081 ! 466: ,1082,1087,1088,1089,1090,1091,1092,1093,1094,367 ! 467: ,1099,382,1116,1133,1136,1147,1148,1153,1154,1155 ! 468: ,1156,1157,1158,1159,1160,382,1169,1174,1179,1184 ! 469: ,1185,1186,308,1213,1214,1215,1216,1223,1224,1225 ! 470: ,249,1230,1233,1234,1263,1276,1277,1278,1279,1280 ! 471: ,1285,1286,1287,308,1314,1315,1316,1317,1346,1377 ! 472: ,1408,1411,1412,1441,308,1442,1443,1444,1445,1450 ! 473: ,1451,1452,1453,1454,1455,1458,1459,382,1462,1463 ! 474: ,382,423,423,1464,1465,1500,1519,1520,367,249 ! 475: ,1521,249,1522,1523,1524,249,249,1553,1586,1615 ! 476: ,1116,1618,1619,1622,1625,1626,1627,1628,308,1629 ! 477: ,1630,1631,1632,1633,1634,1635,1636,382,1637,1638 ! 478: ,1653,1656,1685,1686,1695,1696,1701,1704,1705,1720 ! 479: ,1721,1638,1724,1725,1730,1739,1742,1743,-1}; ! 480: ! 481: int yyr1[] = {0,1,1,2,2,4,3,3,3,7 ! 482: ,7,7,7,7,8,13,13,9,9,9 ! 483: ,9,10,10,10,10,11,11,11,11,12 ! 484: ,12,12,17,16,18,18,19,19,22,22 ! 485: ,22,22,20,20,21,21,14,14,14,14 ! 486: ,23,23,23,23,25,25,15,15,15,15 ! 487: ,26,26,26,27,27,27,27,29,29,30 ! 488: ,31,31,31,33,33,32,32,32,34,34 ! 489: ,34,35,35,35,6,6,37,38,38,38 ! 490: ,38,39,39,39,39,36,36,36,36,36 ! 491: ,36,36,36,36,36,36,36,36,36,36 ! 492: ,36,36,36,36,42,43,43,43,43,43 ! 493: ,43,43,43,43,43,43,43,43,43,43 ! 494: ,43,43,43,51,51,52,52,45,45,53 ! 495: ,53,53,53,53,53,59,59,59,59,59 ! 496: ,60,60,55,55,41,41,46,46,46,46 ! 497: ,46,46,46,47,47,47,47,48,48,48 ! 498: ,48,48,48,50,50,44,44,5,5,24 ! 499: ,28,61,54,58,56,57,40,49,-1}; ! 500: ! 501: int yyr2[] = {0,4,1,6,2,3,2,2,0,1 ! 502: ,1,1,1,1,3,1,3,5,5,2 ! 503: ,2,5,5,2,2,5,5,2,2,3 ! 504: ,3,4,1,5,1,1,3,0,3,4 ! 505: ,4,4,2,0,1,3,1,1,2,2 ! 506: ,1,1,1,1,1,3,1,2,1,2 ! 507: ,1,3,3,6,3,3,3,1,3,2 ! 508: ,1,3,2,0,3,0,4,6,1,3 ! 509: ,2,0,5,4,1,2,2,1,3,1 ! 510: ,2,3,2,3,0,0,3,1,4,2 ! 511: ,1,3,5,4,4,4,6,6,2,4 ! 512: ,6,5,4,1,4,1,3,2,2,3 ! 513: ,3,1,1,1,1,1,1,2,4,3 ! 514: ,2,3,2,1,3,1,3,1,1,4 ! 515: ,4,3,3,2,2,1,3,5,2,4 ! 516: ,1,1,1,3,1,3,1,1,1,2 ! 517: ,2,2,1,1,1,1,1,1,1,1 ! 518: ,1,1,1,1,1,1,3,1,3,1 ! 519: ,1,1,1,1,1,1,1,1,-1}; ! 520: ! 521: int yygo[] = {0,-1,1,-1,2,2,5,18,43,-1 ! 522: ,3,43,80,-1,24,11,30,16,39,45 ! 523: ,83,82,158,140,217,159,235,160,236,161 ! 524: ,237,233,158,-1,225,54,90,58,112,-1 ! 525: ,47,-1,6,-1,8,-1,9,-1,10,-1 ! 526: ,11,-1,12,-1,33,69,124,75,150,168 ! 527: ,251,218,276,294,251,297,320,328,251,337 ! 528: ,251,340,251,-1,141,71,147,76,151,77 ! 529: ,152,155,231,220,279,234,288,286,313,289 ! 530: ,314,326,331,-1,134,-1,17,-1,18,-1 ! 531: ,19,236,290,237,291,-1,81,290,315,291 ! 532: ,316,-1,154,-1,156,233,287,-1,157,127 ! 533: ,212,128,213,-1,126,-1,129,168,248,294 ! 534: ,248,-1,334,219,278,221,280,309,327,-1 ! 535: ,135,138,216,-1,137,285,311,329,335,-1 ! 536: ,139,-1,277,342,344,-1,222,-1,223,-1 ! 537: ,282,283,310,-1,224,340,343,-1,332,337 ! 538: ,341,-1,333,49,86,87,163,196,263,198 ! 539: ,265,202,269,249,299,298,321,300,322,304 ! 540: ,323,305,324,306,325,-1,48,-1,49,-1 ! 541: ,245,294,319,-1,246,-1,51,189,258,-1 ! 542: ,164,59,113,-1,53,55,91,57,111,61 ! 543: ,115,93,186,94,187,103,190,104,191,105 ! 544: ,195,116,203,118,206,121,206,169,252,170 ! 545: ,253,171,254,199,266,200,267,201,268,204 ! 546: ,271,241,293,261,195,262,303,273,307,317 ! 547: ,330,-1,166,-1,108,25,64,49,64,54 ! 548: ,64,56,109,58,64,59,64,87,64,196 ! 549: ,64,197,264,198,64,202,64,249,64,298 ! 550: ,64,300,64,304,64,305,64,306,64,-1 ! 551: ,100,-1,169,-1,170,-1,171,-1,102,-1 ! 552: ,104,-1,192,261,302,-1,194,-1,65,-1 ! 553: ,66,121,209,-1,205,-1,67,122,210,-1 ! 554: ,207,-1,68,240,292,-1,165,293,318,-1 ! 555: ,242,-1,-1,-1}; ! 556: ! 557: int yypgo[] = {0,1,3,5,11,15,35,41,43,45 ! 558: ,47,49,51,53,55,75,95,97,99,101 ! 559: ,107,113,115,119,125,127,133,141,145,151 ! 560: ,153,157,159,161,165,169,173,197,199,201 ! 561: ,205,207,211,215,263,265,301,303,305,307 ! 562: ,309,311,313,317,319,321,325,327,331,333 ! 563: ,337,341,-1}; ! 564: ! 565: ! 566: yyEactr(__np__, var) ! 567: int __np__; ! 568: char *var; ! 569: { ! 570: switch(__np__) { ! 571: default: ! 572: return (1); ! 573: case 179: return (identis(var, CONST)); break; ! 574: case 181: return (identis(var, VAR)); break; ! 575: case 182: return (identis(var, ARRAY)); break; ! 576: case 183: return (identis(var, PTRFILE)); break; ! 577: case 184: return (identis(var, RECORD)); break; ! 578: case 185: return (identis(var, FIELD)); break; ! 579: case 186: return (identis(var, PROC)); break; ! 580: case 187: return (identis(var, FUNC)); break; ! 581: case 137: { ! 582: return (identis(var, VAR)); ! 583: } ! 584: break; ! 585: case 180: { ! 586: return (identis(var, TYPE)); ! 587: } ! 588: break; ! 589: } ! 590: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.