📄 parse_noyacc.c
字号:
}break;case 47:#line 260 "parse.y"{ yyval.sym = yyvsp[0].sym; ADD_OP(OP_PUSH_SYM); ADD_SYM(yyvsp[0].sym); }break;case 48:#line 264 "parse.y"{ yyval.inst = GetPC(); }break;case 49:#line 267 "parse.y"{ yyval.inst = GetPC(); }break;case 50:#line 270 "parse.y"{ yyval.inst = GetPC(); }break;case 51:#line 274 "parse.y"{ yyval.nArgs = 0; }break;case 52:#line 277 "parse.y"{ yyval.nArgs = 1; }break;case 53:#line 280 "parse.y"{ yyval.nArgs = yyvsp[-2].nArgs + 1; }break;case 55:#line 285 "parse.y"{ ADD_OP(OP_CONCAT); }break;case 56:#line 289 "parse.y"{ ADD_OP(OP_PUSH_ARRAY_SYM); ADD_SYM(yyvsp[0].sym); ADD_IMMED((void *)1); }break;case 57:#line 292 "parse.y"{ ADD_OP(OP_ARRAY_REF); ADD_IMMED((void *)yyvsp[-1].nArgs); }break;case 58:#line 296 "parse.y"{ ADD_OP(OP_PUSH_ARRAY_SYM); ADD_SYM(yyvsp[0].sym); ADD_IMMED((void *)0); }break;case 59:#line 299 "parse.y"{ ADD_OP(OP_ARRAY_REF); ADD_IMMED((void *)yyvsp[-1].nArgs); }break;case 60:#line 303 "parse.y"{ yyval.inst = GetPC(); }break;case 61:#line 307 "parse.y"{ ADD_OP(OP_PUSH_SYM); ADD_SYM(yyvsp[0].sym); }break;case 62:#line 310 "parse.y"{ ADD_OP(OP_PUSH_SYM); ADD_SYM(yyvsp[0].sym); }break;case 63:#line 313 "parse.y"{ ADD_OP(OP_PUSH_SYM); ADD_SYM(yyvsp[0].sym); }break;case 64:#line 316 "parse.y"{ ADD_OP(OP_SUBR_CALL); ADD_SYM(PromoteToGlobal(yyvsp[-3].sym)); ADD_IMMED((void *)yyvsp[-1].nArgs); ADD_OP(OP_FETCH_RET_VAL); }break;case 66:#line 322 "parse.y"{ ADD_OP(OP_ARRAY_REF); ADD_IMMED((void *)yyvsp[-1].nArgs); }break;case 67:#line 325 "parse.y"{ ADD_OP(OP_ADD); }break;case 68:#line 328 "parse.y"{ ADD_OP(OP_SUB); }break;case 69:#line 331 "parse.y"{ ADD_OP(OP_MUL); }break;case 70:#line 334 "parse.y"{ ADD_OP(OP_DIV); }break;case 71:#line 337 "parse.y"{ ADD_OP(OP_MOD); }break;case 72:#line 340 "parse.y"{ ADD_OP(OP_POWER); }break;case 73:#line 343 "parse.y"{ ADD_OP(OP_NEGATE); }break;case 74:#line 346 "parse.y"{ ADD_OP(OP_GT); }break;case 75:#line 349 "parse.y"{ ADD_OP(OP_GE); }break;case 76:#line 352 "parse.y"{ ADD_OP(OP_LT); }break;case 77:#line 355 "parse.y"{ ADD_OP(OP_LE); }break;case 78:#line 358 "parse.y"{ ADD_OP(OP_EQ); }break;case 79:#line 361 "parse.y"{ ADD_OP(OP_NE); }break;case 80:#line 364 "parse.y"{ ADD_OP(OP_BIT_AND); }break;case 81:#line 367 "parse.y"{ ADD_OP(OP_BIT_OR); }break;case 82:#line 370 "parse.y"{ ADD_OP(OP_AND); SET_BR_OFF(yyvsp[-1].inst, GetPC()); }break;case 83:#line 373 "parse.y"{ ADD_OP(OP_OR); SET_BR_OFF(yyvsp[-1].inst, GetPC()); }break;case 84:#line 376 "parse.y"{ ADD_OP(OP_NOT); }break;case 85:#line 379 "parse.y"{ ADD_OP(OP_PUSH_SYM); ADD_SYM(yyvsp[0].sym); ADD_OP(OP_INCR); ADD_OP(OP_DUP); ADD_OP(OP_ASSIGN); ADD_SYM(yyvsp[0].sym); }break;case 86:#line 383 "parse.y"{ ADD_OP(OP_PUSH_SYM); ADD_SYM(yyvsp[-1].sym); ADD_OP(OP_DUP); ADD_OP(OP_INCR); ADD_OP(OP_ASSIGN); ADD_SYM(yyvsp[-1].sym); }break;case 87:#line 387 "parse.y"{ ADD_OP(OP_PUSH_SYM); ADD_SYM(yyvsp[0].sym); ADD_OP(OP_DECR); ADD_OP(OP_DUP); ADD_OP(OP_ASSIGN); ADD_SYM(yyvsp[0].sym); }break;case 88:#line 391 "parse.y"{ ADD_OP(OP_PUSH_SYM); ADD_SYM(yyvsp[-1].sym); ADD_OP(OP_DUP); ADD_OP(OP_DECR); ADD_OP(OP_ASSIGN); ADD_SYM(yyvsp[-1].sym); }break;case 89:#line 395 "parse.y"{ ADD_OP(OP_IN_ARRAY); }break;case 90:#line 399 "parse.y"{ yyval.inst = GetPC(); StartLoopAddrList(); }break;case 91:#line 403 "parse.y"{ StartLoopAddrList(); yyval.inst = GetPC(); }break;case 92:#line 407 "parse.y"{ ADD_OP(OP_BRANCH); yyval.inst = GetPC(); ADD_BR_OFF(0); }break;case 93:#line 411 "parse.y"{ ADD_OP(OP_BRANCH_NEVER); yyval.inst = GetPC(); ADD_BR_OFF(0); }break;case 94:#line 414 "parse.y"{ ADD_OP(OP_BRANCH_FALSE); yyval.inst = GetPC(); ADD_BR_OFF(0); }break;case 95:#line 418 "parse.y"{ ADD_OP(OP_DUP); ADD_OP(OP_BRANCH_FALSE); yyval.inst = GetPC(); ADD_BR_OFF(0); }break;case 96:#line 423 "parse.y"{ ADD_OP(OP_DUP); ADD_OP(OP_BRANCH_TRUE); yyval.inst = GetPC(); ADD_BR_OFF(0); }break;#line 1736 "y.tab.c" } yyssp -= yym; yystate = *yyssp; yyvsp -= yym; yym = yylhs[yyn]; if (yystate == 0 && yym == 0) {#if YYDEBUG if (yydebug) printf("%sdebug: after reduction, shifting from state 0 to\ state %d\n", YYPREFIX, YYFINAL);#endif yystate = YYFINAL; *++yyssp = YYFINAL; *++yyvsp = yyval; if (yychar < 0) { if ((yychar = yylex()) < 0) yychar = 0;#if YYDEBUG if (yydebug) { yys = 0; if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (!yys) yys = "illegal-symbol"; printf("%sdebug: state %d, reading %d (%s)\n", YYPREFIX, YYFINAL, yychar, yys); }#endif } if (yychar == 0) goto yyaccept; goto yyloop; } if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && yyn <= YYTABLESIZE && yycheck[yyn] == yystate) yystate = yytable[yyn]; else yystate = yydgoto[yym];#if YYDEBUG if (yydebug) printf("%sdebug: after reduction, shifting from state %d \to state %d\n", YYPREFIX, *yyssp, yystate);#endif if (yyssp >= yysslim && yygrowstack()) { goto yyoverflow; } *++yyssp = yystate; *++yyvsp = yyval; goto yyloop;yyoverflow: yyerror("yacc stack overflow");yyabort: return (1);yyaccept: return (0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -