| 1 | |
| 2 | #include "whoami" |
| 3 | #include "0.h" |
| 4 | #include "yy.h" |
| 5 | #include "tree.h" |
| 6 | |
| 7 | #ifdef PI |
| 8 | #define lineof(l) l |
| 9 | #endif |
| 10 | |
| 11 | extern yyerrflag; |
| 12 | |
| 13 | int *yyval 0; |
| 14 | int *yypv; |
| 15 | yyactr(__np__){ |
| 16 | register int **yyYpv; |
| 17 | register int *p, *q; |
| 18 | yyYpv = yypv; |
| 19 | |
| 20 | switch(__np__){ |
| 21 | |
| 22 | case 1: funcend(yyYpv[1], yyYpv[4], lineof(yyYpv[5])); break; |
| 23 | case 2: yyval = funcbody(funchdr(tree5(T_PROG, lineof(yyYpv[1]), yyYpv[2], fixlist(yyYpv[4]), NIL))); break; |
| 24 | case 3: { |
| 25 | yyPerror("Malformed program statement", PPROG); |
| 26 | /* |
| 27 | * Should make a program statement |
| 28 | * with "input" and "output" here. |
| 29 | */ |
| 30 | yyval = funcbody(funchdr(tree5(T_PROG, lineof(yyYpv[1]), NIL, NIL, NIL))); |
| 31 | } break; |
| 32 | case 4: { |
| 33 | yyval = tree2(lineof(yyYpv[1]), fixstlist(yyYpv[2])); |
| 34 | if (yyYpv[3].pint < 0) |
| 35 | brerror(yyYpv[1], "begin"); |
| 36 | } break; |
| 37 | case 5: trfree(); break; |
| 38 | case 6: { |
| 39 | Derror: |
| 40 | constend(), typeend(), varend(), trfree(); |
| 41 | yyPerror("Malformed declaration", PDECL); |
| 42 | } break; |
| 43 | case 7: trfree(); break; |
| 44 | case 9: constend(); break; |
| 45 | case 10: typeend(); break; |
| 46 | case 11: varend(); break; |
| 47 | case 12: label(fixlist(yyYpv[2]), lineof(yyYpv[1])); break; |
| 48 | case 13: yyval = newlist(yyYpv[1] == NIL ? NIL : *hash(yyYpv[1], 1)); break; |
| 49 | case 14: yyval = addlist(yyYpv[1], yyYpv[3] == NIL ? NIL : *hash(yyYpv[3], 1)); break; |
| 50 | case 15: constbeg(yyYpv[1]), const(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; |
| 51 | case 16: const(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; |
| 52 | case 17: { |
| 53 | constbeg(); |
| 54 | Cerror: |
| 55 | yyPerror("Malformed const declaration", PDECL); |
| 56 | } break; |
| 57 | case 18: goto Cerror; break; |
| 58 | case 19: typebeg(yyYpv[1]), type(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; |
| 59 | case 20: type(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; |
| 60 | case 21: { |
| 61 | typebeg(); |
| 62 | Terror: |
| 63 | yyPerror("Malformed type declaration", PDECL); |
| 64 | } break; |
| 65 | case 22: goto Terror; break; |
| 66 | case 23: varbeg(yyYpv[1]), var(lineof(yyYpv[3]), fixlist(yyYpv[2]), yyYpv[4]); break; |
| 67 | case 24: var(lineof(yyYpv[3]), fixlist(yyYpv[2]), yyYpv[4]); break; |
| 68 | case 25: { |
| 69 | varbeg(); |
| 70 | Verror: |
| 71 | yyPerror("Malformed var declaration", PDECL); |
| 72 | } break; |
| 73 | case 26: goto Verror; break; |
| 74 | case 28: trfree(); break; |
| 75 | case 29: funcfwd(yyYpv[1]); break; |
| 76 | case 30: funcend(yyYpv[1], yyYpv[4], lineof(yyYpv[5])); break; |
| 77 | case 31: funcbody(yyYpv[1]); break; |
| 78 | case 32: yyval = funchdr(tree5(yyYpv[1], lineof(yyYpv[5]), yyYpv[2], yyYpv[3], yyYpv[4])); break; |
| 79 | case 33: yyval = T_PDEC; break; |
| 80 | case 34: yyval = T_FDEC; break; |
| 81 | case 35: yyval = fixlist(yyYpv[2]); break; |
| 82 | case 36: yyval = NIL; break; |
| 83 | case 37: yyval = tree3(T_PVAL, fixlist(yyYpv[1]), yyYpv[3]); break; |
| 84 | case 38: yyval = tree3(T_PVAR, fixlist(yyYpv[2]), yyYpv[4]); break; |
| 85 | case 39: yyval = tree3(T_PFUNC, fixlist(yyYpv[2]), yyYpv[4]); break; |
| 86 | case 40: yyval = tree2(T_PPROC, fixlist(yyYpv[2])); break; |
| 87 | case 41: yyval = yyYpv[2]; break; |
| 88 | case 42: yyval = NIL; break; |
| 89 | case 43: yyval = newlist(yyYpv[1]); break; |
| 90 | case 44: yyval = addlist(yyYpv[1], yyYpv[3]); break; |
| 91 | case 45: yyval = tree2(T_CSTRNG, yyYpv[1]); break; |
| 92 | case 47: yyval = tree2(T_PLUSC, yyYpv[2]); break; |
| 93 | case 48: yyval = tree2(T_MINUSC, yyYpv[2]); break; |
| 94 | case 49: yyval = tree2(T_ID, yyYpv[1]); break; |
| 95 | case 50: yyval = tree2(T_CINT, yyYpv[1]); break; |
| 96 | case 51: yyval = tree2(T_CBINT, yyYpv[1]); break; |
| 97 | case 52: yyval = tree2(T_CFINT, yyYpv[1]); break; |
| 98 | case 53: yyval = newlist(yyYpv[1]); break; |
| 99 | case 54: yyval = addlist(yyYpv[1], yyYpv[3]); break; |
| 100 | case 56: yyval = tree3(T_TYPTR, lineof(yyYpv[1]), tree2(T_ID, yyYpv[2])); break; |
| 101 | case 58: yyval = tree3(T_TYPACK, lineof(yyYpv[1]), yyYpv[2]); break; |
| 102 | case 60: yyval = tree3(T_TYSCAL, lineof(yyYpv[1]), fixlist(yyYpv[2])); break; |
| 103 | case 61: yyval = tree4(T_TYRANG, lineof(yyYpv[2]), yyYpv[1], yyYpv[3]); break; |
| 104 | case 62: yyval = tree4(T_TYARY, lineof(yyYpv[1]), fixlist(yyYpv[3]), yyYpv[6]); break; |
| 105 | case 63: yyval = tree3(T_TYFILE, lineof(yyYpv[1]), yyYpv[3]); break; |
| 106 | case 64: yyval = tree3(T_TYSET, lineof(yyYpv[1]), yyYpv[3]); break; |
| 107 | case 65: { |
| 108 | yyval = tree3(T_TYREC, lineof(yyYpv[1]), yyYpv[2]); |
| 109 | if (yyYpv[3].pint < 0) |
| 110 | brerror(yyYpv[1], "record"); |
| 111 | } break; |
| 112 | case 66: yyval = newlist(yyYpv[1]); break; |
| 113 | case 67: yyval = addlist(yyYpv[1], yyYpv[3]); break; |
| 114 | case 68: yyval = tree4(T_LISTPP, lineof(NIL), fixlist(yyYpv[1]), yyYpv[2]); break; |
| 115 | case 69: yyval = newlist(yyYpv[1]); break; |
| 116 | case 70: yyval = addlist(yyYpv[1], yyYpv[3]); break; |
| 117 | case 71: yyPerror("Malformed record declaration", PDECL); break; |
| 118 | case 72: yyval = NIL; break; |
| 119 | case 73: yyval = tree4(T_FIELD, lineof(yyYpv[2]), fixlist(yyYpv[1]), yyYpv[3]); break; |
| 120 | case 74: yyval = NIL; break; |
| 121 | case 75: yyval = tree5(T_TYVARPT, lineof(yyYpv[1]), NIL, yyYpv[2], fixlist(yyYpv[4])); break; |
| 122 | case 76: yyval = tree5(T_TYVARPT, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], fixlist(yyYpv[6])); break; |
| 123 | case 77: yyval = newlist(yyYpv[1]); break; |
| 124 | case 78: yyval = addlist(yyYpv[1], yyYpv[3]); break; |
| 125 | case 79: yyPerror("Malformed record declaration", PDECL); break; |
| 126 | case 80: yyval = NIL; break; |
| 127 | case 81: yyval = tree5(T_TYVARNT, lineof(yyYpv[2]), fixlist(yyYpv[1]), yyYpv[4]); break; |
| 128 | case 82: yyval = tree5(T_TYVARNT, lineof(yyYpv[2]), fixlist(yyYpv[1]), NIL); break; |
| 129 | case 83: yyval = newlist(yyYpv[1]); break; |
| 130 | case 84: { |
| 131 | if ((p = yyYpv[1]) != NIL && (q = p[1])[0] == T_IFX) { |
| 132 | q[0] = T_IFEL; |
| 133 | q[4] = yyYpv[2]; |
| 134 | } else |
| 135 | yyval = addlist(yyYpv[1], yyYpv[2]); |
| 136 | } break; |
| 137 | case 85: if ((q = yyYpv[1]) != NIL && (p = q[1]) != NIL && p[0] == T_IF) { |
| 138 | if (yychar < 0) |
| 139 | yychar = yylex(); |
| 140 | if (yyshifts >= 2 && yychar == YELSE) { |
| 141 | recovered(); |
| 142 | copy(&Y, &OY, sizeof Y); |
| 143 | yerror("Deleted ';' before keyword else"); |
| 144 | yychar = yylex(); |
| 145 | p[0] = T_IFX; |
| 146 | } |
| 147 | } break; |
| 148 | case 86: yyval = newlist(yyYpv[1]); break; |
| 149 | case 87: yyval = addlist(yyYpv[1], yyYpv[3]); break; |
| 150 | case 88: { |
| 151 | yyval = NIL; |
| 152 | Kerror: |
| 153 | yyPerror("Malformed statement in case", PSTAT); |
| 154 | } break; |
| 155 | case 89: goto Kerror; break; |
| 156 | case 90: yyval = tree4(T_CSTAT, lineof(yyYpv[2]), fixlist(yyYpv[1]), yyYpv[3]); break; |
| 157 | case 91: yyval = tree4(T_CSTAT, lineof(yyYpv[1]), NIL, yyYpv[2]); break; |
| 158 | case 92: yyval = NIL; break; |
| 159 | case 93: yyval = NIL; break; |
| 160 | case 94: yyval = tree4(T_LABEL, lineof(yyYpv[2]), yyYpv[1] == NIL ? NIL : *hash(yyYpv[1], 1), yyYpv[3]); break; |
| 161 | case 95: yyval = tree4(T_PCALL, lineof(yyline), yyYpv[1], NIL); break; |
| 162 | case 96: yyval = tree4(T_PCALL, lineof(yyYpv[2]), yyYpv[1], fixlist(yyYpv[3])); break; |
| 163 | case 97: goto NSerror; break; |
| 164 | case 99: { |
| 165 | yyval = tree3(T_BLOCK, lineof(yyYpv[1]), fixstlist(yyYpv[2])); |
| 166 | if (yyYpv[3].pint < 0) |
| 167 | brerror(yyYpv[1], "begin"); |
| 168 | } break; |
| 169 | case 100: { |
| 170 | yyval = tree4(T_CASE, lineof(yyYpv[1]), yyYpv[2], fixlist(yyYpv[4])); |
| 171 | if (yyYpv[5].pint < 0) |
| 172 | brerror(yyYpv[1], "case"); |
| 173 | } break; |
| 174 | case 101: yyval = tree4(T_WITH, lineof(yyYpv[1]), fixlist(yyYpv[2]), yyYpv[4]); break; |
| 175 | case 102: yyval = tree4(T_WHILE, lineof(yyYpv[1]), yyYpv[2], yyYpv[4]); break; |
| 176 | case 103: yyval = tree4(T_REPEAT, lineof(yyYpv[3]), fixstlist(yyYpv[2]), yyYpv[4]); break; |
| 177 | case 104: yyval = tree5(T_FORU, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], yyYpv[6]); break; |
| 178 | case 105: yyval = tree5(T_FORD, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], yyYpv[6]); break; |
| 179 | case 106: yyval = tree3(T_GOTO, lineof(yyYpv[1]), *hash(yyYpv[2], 1)); break; |
| 180 | case 107: yyval = tree5(T_IF, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], NIL); break; |
| 181 | case 108: yyval = tree5(T_IFEL, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], yyYpv[6]); break; |
| 182 | case 109: yyval = tree5(T_IFEL, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], NIL); break; |
| 183 | case 110: yyval = tree3(T_ASRT, lineof(yyYpv[1]), yyYpv[2]); break; |
| 184 | case 111: { |
| 185 | NSerror: |
| 186 | yyval = NIL; |
| 187 | Serror: |
| 188 | yyPerror("Malformed statement", PSTAT); |
| 189 | } break; |
| 190 | case 112: yyval = tree4(T_ASGN, lineof(yyYpv[2]), yyYpv[1], yyYpv[4]); break; |
| 191 | case 113: { |
| 192 | NEerror: |
| 193 | yyval = NIL; |
| 194 | Eerror: |
| 195 | yyPerror("Missing/malformed expression", PEXPR); |
| 196 | } break; |
| 197 | case 114: yyval = tree4(yyYpv[2], yyYpv[1][1] == SAWCON ? yyYpv[3][1] : yyYpv[1][1], yyYpv[1], yyYpv[3]); break; |
| 198 | case 115: yyval = tree3(T_PLUS, yyYpv[2][1], yyYpv[2]); break; |
| 199 | case 116: yyval = tree3(T_MINUS, yyYpv[2][1], yyYpv[2]); break; |
| 200 | case 117: yyval = tree4(yyYpv[2], yyYpv[1][1] == SAWCON ? yyYpv[3][1] : yyYpv[1][1], yyYpv[1], yyYpv[3]); break; |
| 201 | case 118: yyval = tree4(yyYpv[2], yyYpv[1][1] == SAWCON ? yyYpv[3][1] : yyYpv[1][1], yyYpv[1], yyYpv[3]); break; |
| 202 | case 119: yyval = tree2(T_NIL, NOCON); break; |
| 203 | case 120: yyval = tree3(T_STRNG, SAWCON, yyYpv[1]); break; |
| 204 | case 121: yyval = tree3(T_INT, NOCON, yyYpv[1]); break; |
| 205 | case 122: yyval = tree3(T_BINT, NOCON, yyYpv[1]); break; |
| 206 | case 123: yyval = tree3(T_FINT, NOCON, yyYpv[1]); break; |
| 207 | case 125: goto NEerror; break; |
| 208 | case 126: yyval = tree3(T_FCALL, yyYpv[1], fixlist(yyYpv[3])); break; |
| 209 | case 127: yyval = yyYpv[2]; break; |
| 210 | case 128: yyval = tree3(T_NOT, NOCON, yyYpv[2]); break; |
| 211 | case 129: yyval = tree3(T_CSET, SAWCON, fixlist(yyYpv[2])); break; |
| 212 | case 130: yyval = tree3(T_CSET, SAWCON, NIL); break; |
| 213 | case 131: yyval = newlist(yyYpv[1]); break; |
| 214 | case 132: yyval = addlist(yyYpv[1], yyYpv[3]); break; |
| 215 | case 134: yyval = tree3(T_RANG, yyYpv[1], yyYpv[3]); break; |
| 216 | case 135: { |
| 217 | yyval = setupvar(yyYpv[1], NIL); |
| 218 | } break; |
| 219 | case 136: yyYpv[1][3] = fixlist(yyYpv[1][3]); break; |
| 220 | case 137: yyval = setupvar(yyYpv[1], tree2(T_ARY, fixlist(yyYpv[3]))); break; |
| 221 | case 138: yyYpv[1][3] = addlist(yyYpv[1][3], tree2(T_ARY, fixlist(yyYpv[3]))); break; |
| 222 | case 139: yyval = setupvar(yyYpv[1], tree3(T_FIELD, yyYpv[3], NIL)); break; |
| 223 | case 140: yyYpv[1][3] = addlist(yyYpv[1][3], tree3(T_FIELD, yyYpv[3], NIL)); break; |
| 224 | case 141: yyval = setupvar(yyYpv[1], tree1(T_PTR)); break; |
| 225 | case 142: yyYpv[1][3] = addlist(yyYpv[1][3], tree1(T_PTR)); break; |
| 226 | case 144: yyval = tree4(T_WEXP, yyYpv[1], yyYpv[3], NIL); break; |
| 227 | case 145: yyval = tree4(T_WEXP, yyYpv[1], yyYpv[3], yyYpv[5]); break; |
| 228 | case 146: yyval = tree4(T_WEXP, yyYpv[1], NIL, yyYpv[2]); break; |
| 229 | case 147: yyval = tree4(T_WEXP, yyYpv[1], yyYpv[3], yyYpv[4]); break; |
| 230 | case 148: yyval = OCT; break; |
| 231 | case 149: yyval = HEX; break; |
| 232 | case 150: yyval = newlist(yyYpv[1]); break; |
| 233 | case 151: yyval = addlist(yyYpv[1], yyYpv[3]); break; |
| 234 | case 152: yyval = newlist(yyYpv[1]); break; |
| 235 | case 153: yyval = addlist(yyYpv[1], yyYpv[3]); break; |
| 236 | case 154: yyval = T_EQ; break; |
| 237 | case 155: yyval = T_LT; break; |
| 238 | case 156: yyval = T_GT; break; |
| 239 | case 157: yyval = T_NE; break; |
| 240 | case 158: yyval = T_LE; break; |
| 241 | case 159: yyval = T_GE; break; |
| 242 | case 160: yyval = T_IN; break; |
| 243 | case 161: yyval = T_ADD; break; |
| 244 | case 162: yyval = T_SUB; break; |
| 245 | case 163: yyval = T_OR; break; |
| 246 | case 164: yyval = T_OR; break; |
| 247 | case 165: yyval = T_MULT; break; |
| 248 | case 166: yyval = T_DIVD; break; |
| 249 | case 167: yyval = T_DIV; break; |
| 250 | case 168: yyval = T_MOD; break; |
| 251 | case 169: yyval = T_AND; break; |
| 252 | case 170: yyval = T_AND; break; |
| 253 | case 171: yyval = newlist(yyYpv[1]); break; |
| 254 | case 172: yyval = addlist(yyYpv[1], yyYpv[3]); break; |
| 255 | case 173: yyval = newlist(yyYpv[1]); break; |
| 256 | case 174: yyval = addlist(yyYpv[1], yyYpv[3]); break; |
| 257 | case 176: { |
| 258 | yyval = tree3(T_TYID, lineof(yyline), yyYpv[1]); |
| 259 | } break; |
| 260 | } |
| 261 | } |
| 262 | |
| 263 | int yyact[] {0,-286,8195,4096,0,16384,4096,12295,-256,8198 |
| 264 | ,-273,8197,4096,-256,8201,-259,12315,-261,8207,-271 |
| 265 | ,12315,-277,8206,-285,12315,-293,8208,-295,8209,4096 |
| 266 | ,-40,8210,4096,12291,-259,8213,-271,8218,-285,8217 |
| 267 | ,4096,12293,12294,12296,-256,8220,-259,12297,-261,12297 |
| 268 | ,-271,12297,-273,8219,-277,12297,-285,12297,-293,12297 |
| 269 | ,-295,12297,4096,-256,8222,-259,12298,-261,12298,-271 |
| 270 | ,12298,-273,8221,-277,12298,-285,12298,-293,12298,-295 |
| 271 | ,12298,4096,-256,8224,-259,12299,-261,12299,-271,12299 |
| 272 | ,-273,8225,-277,12299,-285,12299,-293,12299,-295,12299 |
| 273 | ,4096,-276,8227,4096,-256,8229,-273,8228,4096,-256 |
| 274 | ,8231,-273,8230,4096,-256,8233,-273,8225,4096,-273 |
| 275 | ,8225,4096,-46,8235,4096,12316,-256,8252,-259,8243 |
| 276 | ,-260,8244,-267,12381,-269,8248,-272,8249,-273,8241 |
| 277 | ,-274,8250,-276,8239,-288,8247,-296,8246,-297,8245 |
| 278 | ,-301,8251,-59,12381,4096,-270,8258,12319,-273,8260 |
| 279 | ,4096,12321,12322,-61,8261,4096,12306,-61,8262,4096 |
| 280 | ,12310,-44,8264,-58,8263,4096,12314,12461,-59,8265 |
| 281 | ,-44,8266,4096,12301,-61,8267,4096,12305,-61,8268 |
| 282 | ,4096,12309,-44,8264,-58,8269,4096,12313,-41,8270 |
| 283 | ,-44,8264,4096,12289,-267,8271,-59,8272,4096,12371 |
| 284 | ,-256,8252,-259,8243,-260,8244,-267,12381,-269,8248 |
| 285 | ,-272,8249,-273,8241,-274,8250,-276,8239,-288,8247 |
| 286 | ,-294,12381,-296,8246,-297,8245,-301,8251,-59,12381 |
| 287 | ,4096,-58,8274,4096,-40,8275,12383,-256,8276,-266 |
| 288 | ,12470,-267,12470,-294,12470,-46,12468,-40,12470,-59 |
| 289 | ,12470,-58,12423,-94,12467,-91,12466,4096,12386,-256 |
| 290 | ,8279,-273,8288,-276,8284,-279,8291,-280,8286,-284 |
| 291 | ,8282,-290,8283,-298,8285,-43,8280,-45,8281,-40 |
| 292 | ,8290,-91,8292,4096,-273,8295,4096,-273,8295,4096 |
| 293 | ,-276,8299,4096,12399,-58,8302,4096,-46,8304,-94 |
| 294 | ,8305,-91,8303,12424,-91,8306,4096,-46,8307,4096 |
| 295 | ,-94,8308,4096,-59,8309,4096,-256,8201,-259,12315 |
| 296 | ,-261,8207,-271,12315,-277,8206,-285,12315,-293,8208 |
| 297 | ,-295,8209,4096,-40,8312,12324,-273,8322,-276,8319 |
| 298 | ,-280,8321,-290,8314,-298,8320,-43,8316,-45,8317 |
| 299 | ,4096,-258,8331,-268,8332,-273,8335,-276,8319,-280 |
| 300 | ,8321,-283,8327,-287,8334,-289,8333,-290,8314,-298 |
| 301 | ,8320,-43,8316,-45,8317,-40,8329,-94,8325,4096 |
| 302 | ,-273,8337,4096,12300,-276,8338,4096,-59,8342,4096 |
| 303 | ,12292,12373,12372,-256,8279,-273,8288,-276,8284,-279 |
| 304 | ,8291,-280,8286,-284,8282,-290,8283,-298,8285,-43 |
| 305 | ,8280,-45,8281,-40,8290,-91,8292,4096,12385,-267 |
| 306 | ,8347,-59,8272,4096,-257,8364,-262,8362,-275,8355 |
| 307 | ,-278,8363,-281,8348,-282,8358,-60,8353,-61,8352 |
| 308 | ,-62,8354,-43,8356,-45,8357,-124,8359,-42,8360 |
| 309 | ,-47,8361,-38,8365,4096,12401,12407,12408,12409,12410 |
| 310 | ,12411,12412,-256,8368,-257,12423,-262,12423,-263,12423 |
| 311 | ,-264,12423,-265,12423,-266,12423,-267,12423,-275,12423 |
| 312 | ,-278,12423,-281,12423,-282,12423,-291,12423,-292,12423 |
| 313 | ,-294,12423,-299,12423,-300,12423,-60,12423,-61,12423 |
| 314 | ,-62,12423,-43,12423,-45,12423,-124,12423,-42,12423 |
| 315 | ,-47,12423,-38,12423,-46,12468,-40,12471,-41,12423 |
| 316 | ,-59,12423,-44,12423,-58,12423,-94,12467,-91,12466 |
| 317 | ,-93,12423,4096,-40,8369,4096,-256,8279,-273,8288 |
| 318 | ,-276,8284,-279,8291,-280,8286,-284,8282,-290,8283 |
| 319 | ,-298,8285,-43,8280,-45,8281,-40,8290,-91,8292 |
| 320 | ,-93,8373,4096,-263,8376,-44,8377,4096,12459,-46 |
| 321 | ,12468,-94,12467,-91,12466,12423,-257,8364,-262,8362 |
| 322 | ,-263,8378,-275,8355,-278,8363,-282,8358,-60,8353 |
| 323 | ,-61,8352,-62,8354,-43,8356,-45,8357,-124,8359 |
| 324 | ,-42,8360,-47,8361,-38,8365,4096,-294,8379,-59 |
| 325 | ,8272,4096,-265,8380,-292,8381,4096,12394,-257,8364 |
| 326 | ,-262,8362,-275,8355,-278,8363,-282,8358,-291,8382 |
| 327 | ,-60,8353,-61,8352,-62,8354,-43,8356,-45,8357 |
| 328 | ,-124,8359,-42,8360,-47,8361,-38,8365,4096,-257 |
| 329 | ,8364,-262,8362,-275,8355,-278,8363,-282,8358,-60 |
| 330 | ,8353,-61,8352,-62,8354,-43,8356,-45,8357,-124 |
| 331 | ,8359,-42,8360,-47,8361,-38,8365,12398,-61,8383 |
| 332 | ,4096,-256,8279,-273,8288,-276,8284,-279,8291,-280 |
| 333 | ,8286,-284,8282,-290,8283,-298,8285,-43,8280,-45 |
| 334 | ,8281,-40,8290,-91,8292,4096,-273,8387,4096,12430 |
| 335 | ,12429,12317,-259,8213,-271,8218,-285,8217,4096,-58 |
| 336 | ,8392,12330,-271,8397,-273,8225,-285,8398,-295,8396 |
| 337 | ,4096,-59,8399,4096,12333,12334,-273,8322,-276,8319 |
| 338 | ,-280,8321,-298,8320,4096,12337,12338,12339,12340,12463 |
| 339 | ,-59,8402,4096,12343,-273,8403,4096,12345,-258,8331 |
| 340 | ,-268,8332,-287,8334,-289,8333,4096,12347,-264,8406 |
| 341 | ,4096,-91,8407,4096,-281,8408,4096,-281,8409,4096 |
| 342 | ,-273,8225,12360,-264,12463,12464,-59,8414,4096,12462 |
| 343 | ,12302,-59,8415,4096,-59,8416,4096,-59,8417,4096 |
| 344 | ,12290,12382,-41,8418,-44,8419,4096,12440,-257,8364 |
| 345 | ,-262,8362,-275,8355,-278,8363,-282,8358,-299,8422 |
| 346 | ,-300,8423,-60,8353,-61,8352,-62,8354,-43,8356 |
| 347 | ,-45,8357,-124,8359,-42,8360,-47,8361,-38,8365 |
| 348 | ,-58,8420,12431,12387,-256,8426,-267,12380,-273,8322 |
| 349 | ,-276,8319,-280,8321,-290,8314,-298,8320,-302,8428 |
| 350 | ,-43,8316,-45,8317,-59,12380,4096,12442,-61,8434 |
| 351 | ,-62,8433,12443,-61,8435,12444,12448,12449,12450,12451 |
| 352 | ,12452,12453,12454,12455,12456,12457,12458,-257,8364,-262 |
| 353 | ,8362,-278,8363,-42,8360,-47,8361,-38,8365,12403 |
| 354 | ,-257,8364,-262,8362,-278,8363,-42,8360,-47,8361 |
| 355 | ,-38,8365,12404,12413,-257,8364,-262,8362,-275,8355 |
| 356 | ,-278,8363,-282,8358,-60,8353,-61,8352,-62,8354 |
| 357 | ,-43,8356,-45,8357,-124,8359,-42,8360,-47,8361 |
| 358 | ,-38,8365,-41,8437,4096,12416,-44,8439,-93,8438 |
| 359 | ,4096,12418,12419,-257,8364,-262,8362,-264,8440,-275 |
| 360 | ,8355,-278,8363,-282,8358,-60,8353,-61,8352,-62 |
| 361 | ,8354,-43,8356,-45,8357,-124,8359,-42,8360,-47 |
| 362 | ,8361,-38,8365,12421,-273,8295,4096,-44,8450,-93 |
| 363 | ,8449,4096,-257,8364,-262,8362,-275,8355,-278,8363 |
| 364 | ,-282,8358,-60,8353,-61,8352,-62,8354,-43,8356 |
| 365 | ,-45,8357,-124,8359,-42,8360,-47,8361,-38,8365 |
| 366 | ,12438,12428,12469,-44,8450,-93,8451,4096,12427,-59 |
| 367 | ,8452,4096,-59,8453,4096,-41,8455,-59,8456,4096 |
| 368 | ,12331,-44,8264,-58,8457,4096,12304,12335,12336,12308 |
| 369 | ,12344,12346,-41,8461,-44,8264,4096,-273,8335,-276 |
| 370 | ,8319,-280,8321,-290,8314,-298,8320,-43,8316,-45 |
| 371 | ,8317,-40,8329,4096,-273,8335,-276,8319,-280,8321 |
| 372 | ,-290,8314,-298,8320,-43,8316,-45,8317,-40,8329 |
| 373 | ,4096,-267,8467,4096,-256,8470,-260,8471,-267,12362 |
| 374 | ,-41,12362,-59,8469,4096,12357,-44,8264,-58,8472 |
| 375 | ,4096,12312,12303,12307,12311,12384,-256,8279,-273,8288 |
| 376 | ,-276,8284,-279,8291,-280,8286,-284,8282,-290,8283 |
| 377 | ,-298,8285,-43,8280,-45,8281,-40,8290,-91,8292 |
| 378 | ,4096,12434,12436,12437,-256,8476,-267,8477,-59,8475 |
| 379 | ,4096,12374,12376,-44,8478,-58,8479,4096,12341,-257 |
| 380 | ,8364,-262,8362,-275,4096,-278,8363,-282,8358,-60 |
| 381 | ,4096,-61,4096,-62,4096,-43,8356,-45,8357,-124 |
| 382 | ,8359,-42,8360,-47,8361,-38,8365,12402,-257,8364 |
| 383 | ,-262,8362,-278,8363,-42,8360,-47,8361,-38,8365 |
| 384 | ,12405,12406,12445,12446,12447,-41,8481,-44,8419,4096 |
| 385 | ,12415,12417,-256,8279,-273,8288,-276,8284,-279,8291 |
| 386 | ,-280,8286,-284,8282,-290,8283,-298,8285,-43,8280 |
| 387 | ,-45,8281,-40,8290,-91,8292,4096,12389,12460,12390 |
| 388 | ,-257,8364,-262,8362,-275,8355,-278,8363,-282,8358 |
| 389 | ,-60,8353,-61,8352,-62,8354,-43,8356,-45,8357 |
| 390 | ,-124,8359,-42,8360,-47,8361,-38,8365,12391,-257 |
| 391 | ,8364,-262,8362,-263,8484,-275,8355,-278,8363,-282 |
| 392 | ,8358,-60,8353,-61,8352,-62,8354,-43,8356,-45 |
| 393 | ,8357,-124,8359,-42,8360,-47,8361,-38,8365,4096 |
| 394 | ,-257,8364,-262,8362,-263,8485,-275,8355,-278,8363 |
| 395 | ,-282,8358,-60,8353,-61,8352,-62,8354,-43,8356 |
| 396 | ,-45,8357,-124,8359,-42,8360,-47,8361,-38,8365 |
| 397 | ,4096,-266,8486,12395,-257,8364,-262,8362,-275,8355 |
| 398 | ,-278,8363,-282,8358,-60,8353,-61,8352,-62,8354 |
| 399 | ,-43,8356,-45,8357,-124,8359,-42,8360,-47,8361 |
| 400 | ,-38,8365,12400,12426,12425,12318,12320,12329,12323,-271 |
| 401 | ,8397,-273,8225,-285,8398,-295,8396,4096,-44,8264 |
| 402 | ,-58,8490,4096,-44,8264,-58,8491,4096,-44,8264 |
| 403 | ,12328,12348,12349,-44,8493,-93,8492,4096,12354,12351 |
| 404 | ,12352,12353,12356,-273,8225,12360,12359,-273,8496,4096 |
| 405 | ,12441,-257,8364,-262,8362,-275,8355,-278,8363,-282 |
| 406 | ,8358,-299,8422,-300,8423,-60,8353,-61,8352,-62 |
| 407 | ,8354,-43,8356,-45,8357,-124,8359,-42,8360,-47 |
| 408 | ,8361,-38,8365,-58,8498,12432,-273,8322,-276,8319 |
| 409 | ,-280,8321,-290,8314,-298,8320,-302,8428,-43,8316 |
| 410 | ,-45,8317,12380,12377,12388,12379,12414,12420,-257,8364 |
| 411 | ,-262,8362,-275,8355,-278,8363,-282,8358,-60,8353 |
| 412 | ,-61,8352,-62,8354,-43,8356,-45,8357,-124,8359 |
| 413 | ,-42,8360,-47,8361,-38,8365,12422,-256,8252,-259 |
| 414 | ,8243,-260,8244,-266,12381,-267,12381,-269,8248,-272 |
| 415 | ,8249,-273,8241,-274,8250,-276,8239,-288,8247,-294 |
| 416 | ,12381,-296,8246,-297,8245,-301,8251,-59,12381,4096 |
| 417 | ,-257,8364,-262,8362,-275,8355,-278,8363,-282,8358 |
| 418 | ,-60,8353,-61,8352,-62,8354,-43,8356,-45,8357 |
| 419 | ,-124,8359,-42,8360,-47,8361,-38,8365,12439,12332 |
| 420 | ,12325,-281,8508,4096,12358,-281,8510,4096,-58,8511 |
| 421 | ,12464,12361,12435,12375,12342,12378,12392,12393,12396,12326 |
| 422 | ,12327,12355,-273,8322,-276,8319,-280,8321,-290,8314 |
| 423 | ,-298,8320,-43,8316,-45,8317,12368,-273,8518,4096 |
| 424 | ,-257,8364,-262,8362,-275,8355,-278,8363,-282,8358 |
| 425 | ,-60,8353,-61,8352,-62,8354,-43,8356,-45,8357 |
| 426 | ,-124,8359,-42,8360,-47,8361,-38,8365,12433,12350 |
| 427 | ,-256,8520,-267,12363,-41,12363,-59,8519,4096,12365 |
| 428 | ,-44,8478,-58,8521,4096,-281,8522,4096,12464,-273 |
| 429 | ,8322,-276,8319,-280,8321,-290,8314,-298,8320,-43 |
| 430 | ,8316,-45,8317,12368,12367,-40,8524,4096,12366,-273 |
| 431 | ,8225,-41,8527,12360,-256,8520,-267,12364,-41,12364 |
| 432 | ,-59,8519,4096,-41,8528,4096,12370,12369,-1}; |
| 433 | |
| 434 | int yypact[] {0,1,4,7,8,13,30,33,34,41 |
| 435 | ,42,43,44,63,82,101,104,109,114,119 |
| 436 | ,122,125,126,155,7,158,161,162,163,166 |
| 437 | ,167,170,171,176,177,178,183,184,187,188 |
| 438 | ,191,192,197,198,203,204,209,210,241,244 |
| 439 | ,247,268,126,269,294,269,126,297,300,269 |
| 440 | ,269,303,304,307,314,317,320,323,326,343 |
| 441 | ,346,361,361,390,393,394,346,361,361,397 |
| 442 | ,400,401,402,210,403,428,429,434,465,269 |
| 443 | ,269,466,467,468,469,470,471,472,543,269 |
| 444 | ,269,546,573,578,579,586,617,622,627,628 |
| 445 | ,659,688,691,716,719,691,716,720,721,722 |
| 446 | ,729,732,741,744,745,746,746,755,756,757 |
| 447 | ,758,759,760,763,764,767,768,777,119,778 |
| 448 | ,781,784,787,790,793,796,799,800,801,804 |
| 449 | ,807,810,811,812,817,818,853,854,269,269 |
| 450 | ,269,877,878,883,886,887,888,889,890,891 |
| 451 | ,892,893,894,895,896,897,910,923,403,924 |
| 452 | ,955,956,961,962,963,210,994,210,269,269 |
| 453 | ,269,210,269,997,1002,1031,1032,1033,1038,1039 |
| 454 | ,1042,361,1045,1050,1051,119,119,119,1056,1057 |
| 455 | ,1058,1059,1060,1061,1062,346,1067,361,1084,1101 |
| 456 | ,1104,1115,1116,1121,1122,1123,1124,1125,1126,269 |
| 457 | ,1151,1152,1153,1154,1161,1162,1163,210,1168,1169 |
| 458 | ,1198,1211,1212,1213,1214,1215,1220,1221,1222,269 |
| 459 | ,1247,1248,1249,1250,1279,1310,1341,1344,1373,269 |
| 460 | ,1374,1375,1376,1377,1378,1379,361,1388,1393,1398 |
| 461 | ,1401,1402,1403,1408,1409,1410,1411,1412,1413,1416 |
| 462 | ,1417,361,1420,1421,1456,1473,1474,346,210,1475 |
| 463 | ,1476,1477,1478,210,210,1507,1540,1569,1570,361 |
| 464 | ,361,1571,1084,1574,1575,1578,1581,269,1582,1583 |
| 465 | ,1584,1585,1586,1587,1588,1589,1590,361,1591,1592 |
| 466 | ,1607,1610,1639,1640,1649,1650,1655,1658,1659,1674 |
| 467 | ,1675,1592,1678,1679,1684,1693,1696,1697,-1}; |
| 468 | |
| 469 | int yyr1[] {0,1,2,2,5,3,3,3,8,8 |
| 470 | ,8,8,9,13,13,10,10,10,10,11 |
| 471 | ,11,11,11,12,12,12,12,4,4,16 |
| 472 | ,16,18,17,19,19,20,20,23,23,23 |
| 473 | ,23,21,21,22,22,14,14,14,14,24 |
| 474 | ,24,24,24,26,26,15,15,15,15,27 |
| 475 | ,27,27,28,28,28,28,30,30,31,32 |
| 476 | ,32,32,34,34,33,33,33,35,35,35 |
| 477 | ,36,36,36,7,7,38,39,39,39,39 |
| 478 | ,40,40,40,37,37,37,37,37,37,37 |
| 479 | ,37,37,37,37,37,37,37,37,37,37 |
| 480 | ,37,37,43,44,44,44,44,44,44,44 |
| 481 | ,44,44,44,44,44,44,44,44,44,44 |
| 482 | ,44,51,51,52,52,46,46,53,53,53 |
| 483 | ,53,53,53,59,59,59,59,59,60,60 |
| 484 | ,55,55,42,42,47,47,47,47,47,47 |
| 485 | ,47,48,48,48,48,49,49,49,49,49 |
| 486 | ,49,45,45,6,6,25,29,61,54,58 |
| 487 | ,56,57,41,50,-1}; |
| 488 | |
| 489 | int yyr2[] {0,5,6,2,3,2,2,0,1,1 |
| 490 | ,1,1,3,1,3,5,5,2,2,5 |
| 491 | ,5,2,2,5,5,2,2,0,2,3 |
| 492 | ,5,1,5,1,1,3,0,3,4,4 |
| 493 | ,2,2,0,1,3,1,1,2,2,1 |
| 494 | ,1,1,1,1,3,1,2,1,2,1 |
| 495 | ,3,3,6,3,3,3,1,3,2,1 |
| 496 | ,3,2,0,3,0,4,6,1,3,2 |
| 497 | ,0,5,4,1,2,2,1,3,1,2 |
| 498 | ,3,2,0,0,3,1,4,2,1,3 |
| 499 | ,5,4,4,4,6,6,2,4,6,5 |
| 500 | ,2,1,4,1,3,2,2,3,3,1 |
| 501 | ,1,1,1,1,1,2,4,3,2,3 |
| 502 | ,2,1,3,1,3,1,1,4,4,3 |
| 503 | ,3,2,2,1,3,5,2,4,1,1 |
| 504 | ,1,3,1,3,1,1,1,2,2,2 |
| 505 | ,1,1,1,1,1,1,1,1,1,1 |
| 506 | ,1,1,3,1,3,1,1,1,1,1 |
| 507 | ,1,1,1,1,-1}; |
| 508 | |
| 509 | int yygo[] {0,-1,1,-1,2,23,67,-1,4,67 |
| 510 | ,118,-1,7,118,198,-1,19,13,31,17 |
| 511 | ,40,18,42,120,203,137,213,204,266,205 |
| 512 | ,267,206,268,264,203,-1,221,51,85,55 |
| 513 | ,105,-1,44,-1,8,-1,10,-1,11,-1 |
| 514 | ,12,-1,13,-1,34,69,121,75,147,156 |
| 515 | ,237,214,270,283,237,286,309,318,237,327 |
| 516 | ,237,330,237,-1,138,71,144,76,148,77 |
| 517 | ,149,200,262,216,273,265,297,280,305,298 |
| 518 | ,314,299,315,316,321,-1,131,-1,20,-1 |
| 519 | ,22,-1,23,-1,24,-1,119,-1,199,-1 |
| 520 | ,201,264,296,-1,202,124,208,125,209,-1 |
| 521 | ,123,-1,126,156,235,283,235,-1,324,215 |
| 522 | ,272,217,274,301,317,-1,132,135,212,-1 |
| 523 | ,134,279,303,319,325,-1,136,-1,271,332 |
| 524 | ,334,-1,218,-1,219,-1,276,277,302,-1 |
| 525 | ,220,330,333,-1,322,327,331,-1,323,46 |
| 526 | ,81,82,151,184,249,186,251,190,255,236 |
| 527 | ,288,287,310,292,311,293,312,294,313,-1 |
| 528 | ,45,-1,46,-1,232,283,308,-1,233,-1 |
| 529 | ,48,177,244,-1,152,56,106,-1,50,52 |
| 530 | ,86,54,104,58,108,59,109,88,174,89 |
| 531 | ,175,98,178,99,179,100,183,111,193,114 |
| 532 | ,193,157,238,158,239,159,240,187,252,188 |
| 533 | ,253,189,254,191,256,228,282,247,183,248 |
| 534 | ,291,258,295,306,320,-1,154,-1,101,21 |
| 535 | ,61,46,61,51,61,53,102,55,61,56 |
| 536 | ,61,82,61,184,61,185,250,186,61,190 |
| 537 | ,61,236,61,287,61,292,61,293,61,294 |
| 538 | ,61,-1,95,-1,157,-1,158,-1,159,-1 |
| 539 | ,97,-1,180,247,290,-1,182,-1,62,-1 |
| 540 | ,63,114,196,-1,192,-1,64,115,197,-1 |
| 541 | ,194,-1,65,227,281,-1,153,282,307,-1 |
| 542 | ,229,-1,-1,-1}; |
| 543 | |
| 544 | int yypgo[] {0,1,3,5,9,13,17,37,43,45 |
| 545 | ,47,49,51,53,55,75,97,99,101,103 |
| 546 | ,105,107,109,111,115,121,123,129,137,141 |
| 547 | ,147,149,153,155,157,161,165,169,191,193 |
| 548 | ,195,199,201,205,209,257,259,293,295,297 |
| 549 | ,299,301,303,307,309,311,315,317,321,323 |
| 550 | ,327,331,-1}; |
| 551 | |
| 552 | |
| 553 | yyEactr(__np__, var) |
| 554 | int __np__; |
| 555 | char *var; |
| 556 | { |
| 557 | switch(__np__) { |
| 558 | default: |
| 559 | return (1); |
| 560 | case 175: return (identis(var, CONST)); break; |
| 561 | case 177: return (identis(var, VAR)); break; |
| 562 | case 178: return (identis(var, ARRAY)); break; |
| 563 | case 179: return (identis(var, PTRFILE)); break; |
| 564 | case 180: return (identis(var, RECORD)); break; |
| 565 | case 181: return (identis(var, FIELD)); break; |
| 566 | case 182: return (identis(var, PROC)); break; |
| 567 | case 183: return (identis(var, FUNC)); break; |
| 568 | case 135: { |
| 569 | return (identis(var, VAR)); |
| 570 | } |
| 571 | break; |
| 572 | case 176: { |
| 573 | return (identis(var, TYPE)); |
| 574 | } |
| 575 | break; |
| 576 | } |
| 577 | } |