📄 grammar.tab.c
字号:
#line 488 "grammar.y"{ char *s; if ((s = implied_typedef()) == 0) (void)sprintf(s = buf, "%s {}", yyvsp[-1].text.text); new_decl_spec(&yyval.decl_spec, s, yyvsp[-1].text.begin, DS_NONE); }break;case 65:#line 495 "grammar.y"{ (void)sprintf(buf, "%s %s", yyvsp[-1].text.text, yyvsp[0].text.text); new_decl_spec(&yyval.decl_spec, buf, yyvsp[-1].text.begin, DS_NONE); }break;case 66:#line 503 "grammar.y"{ imply_typedef(yyval.text.text); }break;case 67:#line 507 "grammar.y"{ imply_typedef(yyval.text.text); }break;case 68:#line 514 "grammar.y"{ new_decl_list(&yyval.decl_list, yyvsp[0].declarator); }break;case 69:#line 518 "grammar.y"{ add_decl_list(&yyval.decl_list, &yyvsp[-2].decl_list, yyvsp[0].declarator); }break;case 70:#line 525 "grammar.y"{ if (yyvsp[0].declarator->func_def != FUNC_NONE && func_params == NULL && func_style == FUNC_TRADITIONAL && cur_file->convert) { gen_func_declarator(yyvsp[0].declarator); fputs(cur_text(), cur_file->tmp_file); } cur_declarator = yyval.declarator; }break;case 71:#line 534 "grammar.y"{ if (yyvsp[-1].declarator->func_def != FUNC_NONE && func_params == NULL && func_style == FUNC_TRADITIONAL && cur_file->convert) { gen_func_declarator(yyvsp[-1].declarator); fputs(" =", cur_file->tmp_file); } }break;case 73:#line 546 "grammar.y"{ char *s; if ((s = implied_typedef()) == 0) (void)sprintf(s = buf, "enum %s", yyvsp[-1].text.text); new_decl_spec(&yyval.decl_spec, s, yyvsp[-2].text.begin, DS_NONE); }break;case 74:#line 553 "grammar.y"{ char *s; if ((s = implied_typedef()) == 0) (void)sprintf(s = buf, "%s {}", yyvsp[-1].text.text); new_decl_spec(&yyval.decl_spec, s, yyvsp[-1].text.begin, DS_NONE); }break;case 75:#line 560 "grammar.y"{ (void)sprintf(buf, "enum %s", yyvsp[0].text.text); new_decl_spec(&yyval.decl_spec, buf, yyvsp[-1].text.begin, DS_NONE); }break;case 76:#line 568 "grammar.y"{ imply_typedef("enum"); yyval.text = yyvsp[0].text; }break;case 79:#line 581 "grammar.y"{ yyval.declarator = yyvsp[0].declarator; (void)sprintf(buf, "%s%s", yyvsp[-1].text.text, yyval.declarator->text); free(yyval.declarator->text); yyval.declarator->text = xstrdup(buf); yyval.declarator->begin = yyvsp[-1].text.begin; yyval.declarator->pointer = TRUE; }break;case 81:#line 594 "grammar.y"{ yyval.declarator = new_declarator(yyvsp[0].text.text, yyvsp[0].text.text, yyvsp[0].text.begin); }break;case 82:#line 598 "grammar.y"{ yyval.declarator = yyvsp[-1].declarator; (void)sprintf(buf, "(%s)", yyval.declarator->text); free(yyval.declarator->text); yyval.declarator->text = xstrdup(buf); yyval.declarator->begin = yyvsp[-2].text.begin; }break;case 83:#line 606 "grammar.y"{ yyval.declarator = yyvsp[-1].declarator; (void)sprintf(buf, "%s%s", yyval.declarator->text, yyvsp[0].text.text); free(yyval.declarator->text); yyval.declarator->text = xstrdup(buf); }break;case 84:#line 613 "grammar.y"{ yyval.declarator = new_declarator("%s()", yyvsp[-3].declarator->name, yyvsp[-3].declarator->begin); yyval.declarator->params = yyvsp[-1].param_list; yyval.declarator->func_stack = yyvsp[-3].declarator; yyval.declarator->head = (yyvsp[-3].declarator->func_stack == NULL) ? yyval.declarator : yyvsp[-3].declarator->head; yyval.declarator->func_def = FUNC_ANSI; }break;case 85:#line 621 "grammar.y"{ yyval.declarator = new_declarator("%s()", yyvsp[-3].declarator->name, yyvsp[-3].declarator->begin); yyval.declarator->params = yyvsp[-1].param_list; yyval.declarator->func_stack = yyvsp[-3].declarator; yyval.declarator->head = (yyvsp[-3].declarator->func_stack == NULL) ? yyval.declarator : yyvsp[-3].declarator->head; yyval.declarator->func_def = FUNC_TRADITIONAL; }break;case 86:#line 632 "grammar.y"{ (void)sprintf(yyval.text.text, "*%s", yyvsp[0].text.text); yyval.text.begin = yyvsp[-1].text.begin; }break;case 87:#line 637 "grammar.y"{ (void)sprintf(yyval.text.text, "*%s%s", yyvsp[-1].text.text, yyvsp[0].text.text); yyval.text.begin = yyvsp[-2].text.begin; }break;case 88:#line 645 "grammar.y"{ strcpy(yyval.text.text, ""); yyval.text.begin = 0L; }break;case 90:#line 654 "grammar.y"{ (void)sprintf(yyval.text.text, "%s ", yyvsp[0].decl_spec.text); yyval.text.begin = yyvsp[0].decl_spec.begin; free(yyvsp[0].decl_spec.text); }break;case 91:#line 660 "grammar.y"{ (void)sprintf(yyval.text.text, "%s%s ", yyvsp[-1].text.text, yyvsp[0].decl_spec.text); yyval.text.begin = yyvsp[-1].text.begin; free(yyvsp[0].decl_spec.text); }break;case 93:#line 670 "grammar.y"{ add_ident_list(&yyval.param_list, &yyvsp[-2].param_list, "..."); }break;case 94:#line 677 "grammar.y"{ new_param_list(&yyval.param_list, yyvsp[0].parameter); }break;case 95:#line 681 "grammar.y"{ add_param_list(&yyval.param_list, &yyvsp[-2].param_list, yyvsp[0].parameter); }break;case 96:#line 688 "grammar.y"{ check_untagged(&yyvsp[-1].decl_spec); yyval.parameter = new_parameter(&yyvsp[-1].decl_spec, yyvsp[0].declarator); }break;case 97:#line 693 "grammar.y"{ check_untagged(&yyvsp[-1].decl_spec); yyval.parameter = new_parameter(&yyvsp[-1].decl_spec, yyvsp[0].declarator); }break;case 98:#line 698 "grammar.y"{ check_untagged(&yyvsp[0].decl_spec); yyval.parameter = new_parameter(&yyvsp[0].decl_spec, (Declarator *)0); }break;case 99:#line 706 "grammar.y"{ new_ident_list(&yyval.param_list); }break;case 101:#line 714 "grammar.y"{ new_ident_list(&yyval.param_list); add_ident_list(&yyval.param_list, &yyval.param_list, yyvsp[0].text.text); }break;case 102:#line 719 "grammar.y"{ add_ident_list(&yyval.param_list, &yyvsp[-2].param_list, yyvsp[0].text.text); }break;case 103:#line 726 "grammar.y"{ yyval.text = yyvsp[0].text; }break;case 104:#line 730 "grammar.y"{#if OPT_LINTLIBRARY if (lintLibrary()) { /* Lint doesn't grok C++ ref variables */ yyval.text = yyvsp[0].text; } else#endif (void)sprintf(yyval.text.text, "&%s", yyvsp[0].text.text); yyval.text.begin = yyvsp[-1].text.begin; }break;case 105:#line 743 "grammar.y"{ yyval.declarator = new_declarator(yyvsp[0].text.text, "", yyvsp[0].text.begin); }break;case 106:#line 747 "grammar.y"{ yyval.declarator = yyvsp[0].declarator; (void)sprintf(buf, "%s%s", yyvsp[-1].text.text, yyval.declarator->text); free(yyval.declarator->text); yyval.declarator->text = xstrdup(buf); yyval.declarator->begin = yyvsp[-1].text.begin; }break;case 108:#line 759 "grammar.y"{ yyval.declarator = yyvsp[-1].declarator; (void)sprintf(buf, "(%s)", yyval.declarator->text); free(yyval.declarator->text); yyval.declarator->text = xstrdup(buf); yyval.declarator->begin = yyvsp[-2].text.begin; }break;case 109:#line 767 "grammar.y"{ yyval.declarator = yyvsp[-1].declarator; (void)sprintf(buf, "%s%s", yyval.declarator->text, yyvsp[0].text.text); free(yyval.declarator->text); yyval.declarator->text = xstrdup(buf); }break;case 110:#line 774 "grammar.y"{ yyval.declarator = new_declarator(yyvsp[0].text.text, "", yyvsp[0].text.begin); }break;case 111:#line 778 "grammar.y"{ yyval.declarator = new_declarator("%s()", "", yyvsp[-3].declarator->begin); yyval.declarator->params = yyvsp[-1].param_list; yyval.declarator->func_stack = yyvsp[-3].declarator; yyval.declarator->head = (yyvsp[-3].declarator->func_stack == NULL) ? yyval.declarator : yyvsp[-3].declarator->head; yyval.declarator->func_def = FUNC_ANSI; }break;case 112:#line 786 "grammar.y"{ yyval.declarator = new_declarator("%s()", "", yyvsp[-2].declarator->begin); yyval.declarator->func_stack = yyvsp[-2].declarator; yyval.declarator->head = (yyvsp[-2].declarator->func_stack == NULL) ? yyval.declarator : yyvsp[-2].declarator->head; yyval.declarator->func_def = FUNC_ANSI; }break;case 113:#line 793 "grammar.y"{ Declarator *d; d = new_declarator("", "", yyvsp[-2].text.begin); yyval.declarator = new_declarator("%s()", "", yyvsp[-2].text.begin); yyval.declarator->params = yyvsp[-1].param_list; yyval.declarator->func_stack = d; yyval.declarator->head = yyval.declarator; yyval.declarator->func_def = FUNC_ANSI; }break;case 114:#line 804 "grammar.y"{ Declarator *d; d = new_declarator("", "", yyvsp[-1].text.begin); yyval.declarator = new_declarator("%s()", "", yyvsp[-1].text.begin); yyval.declarator->func_stack = d; yyval.declarator->head = yyval.declarator; yyval.declarator->func_def = FUNC_ANSI; }break;#line 1560 "grammar.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 >= yyss + yystacksize - 1) { 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 + -