⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parse_noyacc.c

📁 nedit 是一款linux下的开发源码的功能强大的编辑器
💻 C
📖 第 1 页 / 共 5 页
字号:
            }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 + -