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

📄 grammar.tab.c

📁 含有BACKTARACKING的編譯軟體
💻 C
📖 第 1 页 / 共 4 页
字号:
  270,  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,   -1,   -1,  257,  258,  259,  260,  261,  262,  263,   -1,  265,  266,  267,  268,  269,  270,  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,  258,  259,  260,  261,  262,  263,  264,  265,  266,  267,  268,  269,  270,  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,   -1,   -1,  258,  259,  260,  261,  262,  263,  291,  265,  266,  267,  268,  269,  270,  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,   -1,   -1,   -1,  286,  258,  259,  260,  261,  262,  263,  264,  265,  266,  267,  268,  269,  270,  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,   -1,  284,  258,  259,  260,  261,  262,  263,  264,  265,  266,  267,  268,  269,  270,  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,  258,  259,  260,  261,  262,  263,   -1,  265,  266,  267,  268,  269,  270,  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,};#define YYFINAL 33#ifndef YYDEBUG#define YYDEBUG 0#endif#define YYMAXTOKEN 291#if YYDEBUGchar *yyname[] = {"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'&'",0,"'('","')'","'*'",0,"','",0,0,0,0,0,0,0,0,0,0,0,0,0,0,"';'",0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"T_IDENTIFIER","T_TYPEDEF_NAME","T_DEFINE_NAME","T_AUTO","T_EXTERN","T_REGISTER","T_STATIC","T_TYPEDEF","T_INLINE","T_EXTENSION","T_CHAR","T_DOUBLE","T_FLOAT","T_INT","T_VOID","T_LONG","T_SHORT","T_SIGNED","T_UNSIGNED","T_ENUM","T_STRUCT","T_UNION","T_Bool","T_Complex","T_Imaginary","T_TYPE_QUALIFIER","T_BRACKETS","T_LBRACE","T_MATCHRBRACE","T_ELLIPSIS","T_INITIALIZER","T_STRING_LITERAL","T_ASM","T_ASMARG","T_VA_DCL",};char *yyrule[] = {"$accept : program","program :","program : translation_unit","translation_unit : external_declaration","translation_unit : translation_unit external_declaration","external_declaration : declaration","external_declaration : function_definition","external_declaration : ';'","external_declaration : linkage_specification","external_declaration : T_ASM T_ASMARG ';'","external_declaration : error T_MATCHRBRACE","external_declaration : error ';'","braces : T_LBRACE T_MATCHRBRACE","linkage_specification : T_EXTERN T_STRING_LITERAL braces","linkage_specification : T_EXTERN T_STRING_LITERAL declaration","declaration : decl_specifiers ';'","declaration : decl_specifiers init_declarator_list ';'","$$1 :","declaration : any_typedef decl_specifiers $$1 opt_declarator_list ';'","any_typedef : T_EXTENSION T_TYPEDEF","any_typedef : T_TYPEDEF","opt_declarator_list :","opt_declarator_list : declarator_list","declarator_list : declarator","declarator_list : declarator_list ',' declarator","$$2 :","$$3 :","function_definition : decl_specifiers declarator $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE","$$4 :","function_definition : declarator $$4 opt_declaration_list T_LBRACE T_MATCHRBRACE","opt_declaration_list :","opt_declaration_list : T_VA_DCL","opt_declaration_list : declaration_list","declaration_list : declaration","declaration_list : declaration_list declaration","decl_specifiers : decl_specifier","decl_specifiers : decl_specifiers decl_specifier","decl_specifier : storage_class","decl_specifier : type_specifier","decl_specifier : type_qualifier","storage_class : T_AUTO","storage_class : T_EXTERN","storage_class : T_REGISTER","storage_class : T_STATIC","storage_class : T_INLINE","storage_class : T_EXTENSION","type_specifier : T_CHAR","type_specifier : T_DOUBLE","type_specifier : T_FLOAT","type_specifier : T_INT","type_specifier : T_LONG","type_specifier : T_SHORT","type_specifier : T_SIGNED","type_specifier : T_UNSIGNED","type_specifier : T_VOID","type_specifier : T_Bool","type_specifier : T_Complex","type_specifier : T_Imaginary","type_specifier : T_TYPEDEF_NAME","type_specifier : struct_or_union_specifier","type_specifier : enum_specifier","type_qualifier : T_TYPE_QUALIFIER","type_qualifier : T_DEFINE_NAME","struct_or_union_specifier : struct_or_union any_id braces","struct_or_union_specifier : struct_or_union braces","struct_or_union_specifier : struct_or_union any_id","struct_or_union : T_STRUCT","struct_or_union : T_UNION","init_declarator_list : init_declarator","init_declarator_list : init_declarator_list ',' init_declarator","init_declarator : declarator","$$5 :","init_declarator : declarator '=' $$5 T_INITIALIZER","enum_specifier : enumeration any_id braces","enum_specifier : enumeration braces","enum_specifier : enumeration any_id","enumeration : T_ENUM","any_id : T_IDENTIFIER","any_id : T_TYPEDEF_NAME","declarator : pointer direct_declarator","declarator : direct_declarator","direct_declarator : identifier_or_ref","direct_declarator : '(' declarator ')'","direct_declarator : direct_declarator T_BRACKETS","direct_declarator : direct_declarator '(' parameter_type_list ')'","direct_declarator : direct_declarator '(' opt_identifier_list ')'","pointer : '*' opt_type_qualifiers","pointer : '*' opt_type_qualifiers pointer","opt_type_qualifiers :","opt_type_qualifiers : type_qualifier_list","type_qualifier_list : type_qualifier","type_qualifier_list : type_qualifier_list type_qualifier","parameter_type_list : parameter_list","parameter_type_list : parameter_list ',' T_ELLIPSIS","parameter_list : parameter_declaration","parameter_list : parameter_list ',' parameter_declaration","parameter_declaration : decl_specifiers declarator","parameter_declaration : decl_specifiers abs_declarator","parameter_declaration : decl_specifiers","opt_identifier_list :","opt_identifier_list : identifier_list","identifier_list : any_id","identifier_list : identifier_list ',' any_id","identifier_or_ref : any_id","identifier_or_ref : '&' any_id","abs_declarator : pointer","abs_declarator : pointer direct_abs_declarator","abs_declarator : direct_abs_declarator","direct_abs_declarator : '(' abs_declarator ')'","direct_abs_declarator : direct_abs_declarator T_BRACKETS","direct_abs_declarator : T_BRACKETS","direct_abs_declarator : direct_abs_declarator '(' parameter_type_list ')'","direct_abs_declarator : direct_abs_declarator '(' ')'","direct_abs_declarator : '(' parameter_type_list ')'","direct_abs_declarator : '(' ')'",};#endif#ifdef YYSTACKSIZE#undef YYMAXDEPTH#define YYMAXDEPTH YYSTACKSIZE#else#ifdef YYMAXDEPTH#define YYSTACKSIZE YYMAXDEPTH#else#define YYSTACKSIZE 500#define YYMAXDEPTH 500#endif#endifint yydebug;int yynerrs;int yyerrflag;int yychar;short *yyssp;YYSTYPE *yyvsp;YYSTYPE yyval;YYSTYPE yylval;short yyss[YYSTACKSIZE];YYSTYPE yyvs[YYSTACKSIZE];#define yystacksize YYSTACKSIZE#line 816 "grammar.y"#if defined(__EMX__) || defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(vms)# ifdef USE_flex#  include "lexyy.c"# else#  include "lex_yy.c"# endif#else# include "lex.yy.c"#endifstatic voidyaccError (char *msg){    func_params = NULL;    put_error();		/* tell what line we're on, and what file */    fprintf(stderr, "%s at token '%s'\n", msg, yytext);}/* Initialize the table of type qualifier keywords recognized by the lexical * analyzer. */voidinit_parser (void){    static char *keywords[] = {	"const",	"restrict",	"volatile",	"interrupt",#ifdef vms	"noshare",	"readonly",#endif#if defined(MSDOS) || defined(OS2)	"__cdecl",	"__export",	"__far",	"__fastcall",	"__fortran",	"__huge",	"__inline",	"__interrupt",	"__loadds",	"__near",	"__pascal",	"__saveregs",	"__segment",	"__stdcall",	"__syscall",	"_cdecl",	"_cs",	"_ds",	"_es",	"_export",	"_far",	"_fastcall",	"_fortran",	"_huge",	"_interrupt",	"_loadds",	"_near",	"_pascal",	"_saveregs",	"_seg",	"_segment",	"_ss",	"cdecl",	"far",	"huge",	"near",	"pascal",#ifdef OS2	"__far16",#endif#endif#ifdef __GNUC__	/* gcc aliases */	"__builtin_va_arg",	"__builtin_va_list",	"__const",	"__const__",	"__inline",	"__inline__",	"__restrict",	"__restrict__",	"__volatile",	"__volatile__",#endif    };    unsigned i;    /* Initialize type qualifier table. */    type_qualifiers = new_symbol_table();    for (i = 0; i < sizeof(keywords)/sizeof(keywords[0]); ++i) {	new_symbol(type_qualifiers, keywords[i], NULL, DS_NONE);    }}/* Process the C source file.  Write function prototypes to the standard * output.  Convert function definitions and write the converted source * code to a temporary file. */voidprocess_file (FILE *infile, char *name){    char *s;    if (strlen(name) > 2) {	s = name + strlen(name) - 2;	if (*s == '.') {	    ++s;	    if (*s == 'l' || *s == 'y')		BEGIN LEXYACC;#if defined(MSDOS) || defined(OS2)	    if (*s == 'L' || *s == 'Y')		BEGIN LEXYACC;#endif	}    }    included_files = new_symbol_table();    typedef_names = new_symbol_table();    define_names = new_symbol_table();    inc_depth = -1;    curly = 0;    ly_count = 0;    func_params = NULL;    yyin = infile;    include_file(strcpy(base_file, name), func_style != FUNC_NONE);    if (file_comments) {#if OPT_LINTLIBRARY    	if (lintLibrary()) {	    put_blankline(stdout);	    begin_tracking();	}#endif	put_string(stdout, "/* ");	put_string(stdout, cur_file_name());	put_string(stdout, " */\n");    }    yyparse();    free_symbol_table(define_names);    free_symbol_table(typedef_names);    free_symbol_table(included_files);}#ifdef NO_LEAKSvoidfree_parser(void){    free_symbol_table (type_qualifiers);#ifdef FLEX_SCANNER    if (yy_current_buffer != 0)	yy_delete_buffer(yy_current_buffer);#endif}#endif#line 745 "grammar.tab.c"#define YYABORT goto yyabort#define YYREJECT goto yyabort#define YYACCEPT goto yyaccept#define YYERROR goto yyerrlabintyyparse(void){    register int yym, yyn, yystate;#if YYDEBUG    register char *yys;    extern char *getenv();    if (yys = getenv("YYDEBUG"))    {        yyn = *yys;        if (yyn >= '0' && yyn <= '9')            yydebug = yyn - '0';    }#endif    yynerrs = 0;    yyerrflag = 0;    yychar = (-1);    yyssp = yyss;    yyvsp = yyvs;    *yyssp = yystate = 0;yyloop:    if ((yyn = yydefred[yystate]) != 0) goto yyreduce;    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, yystate, yychar, yys);        }#endif    }    if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&            yyn <= YYTABLESIZE && yycheck[yyn] == yychar)    {#if YYDEBUG        if (yydebug)            printf("%sdebug: state %d, shifting to state %d\n",                    YYPREFIX, yystate, yytable[yyn]);#endif        if (yyssp >= yyss + yystacksize - 1)        {            goto yyoverflow;        }        *++yyssp = yystate = yytable[yyn];        *++yyvsp = yylval;        yychar = (-1);        if (yyerrflag > 0)  --yyerrflag;        goto yyloop;    }    if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&            yyn <= YYTABLESIZE && yycheck[yyn] == yychar)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -