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

📄 grammar.tab.c

📁 含有BACKTARACKING的編譯軟體
💻 C
📖 第 1 页 / 共 4 页
字号:
#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 + -