kgram.c
来自「一个很不错的程序切片工具,希望大家来讨论以下,对测试人员很有帮助」· C语言 代码 · 共 1,918 行 · 第 1/5 页
C
1,918 行
int yyr1[]={ 0, 1, 1, 1, 1, 70, 70, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 74, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 21, 22, 22, 23, 24, 24, 25, 25, 25, 25, 25, 25, 26, 26, 27, 27, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 75, 30, 30, 30, 31, 31, 32, 32, 71, 71, 71, 71, 33, 33, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 39, 39, 76, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 72, 72, 73, 73, 42, 43, 43, 44, 44, 45, 45, 46, 46, 46, 47, 47, 48, 48, 48, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 51, 51, 52, 52, 52, 52, 52, 52, 53, 53, 53, 54, 55, 56, 56, 56, 56, 57, 57, 58, 58, 59, 59, 60, 60, 60, 20, 20, 61, 61, 61, 62, 62, 62, 62, 62, 64, 64, 65, 65, 66, 66, 66, 68, 77, 67, 78, 67, 79, 67, 63, 80, 63, 69 };int yyr2[]={ 0, 3, 3, 3, 7, 2, 4, 2, 9, 7, 9, 7, 7, 5, 5, 2, 9, 1, 2, 5, 5, 5, 5, 9, 3, 3, 3, 3, 3, 3, 2, 9, 2, 7, 7, 7, 2, 7, 7, 2, 7, 7, 2, 7, 7, 7, 7, 2, 7, 7, 2, 7, 2, 7, 2, 7, 2, 7, 2, 7, 2, 11, 2, 7, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 7, 2, 5, 7, 2, 5, 2, 5, 2, 5, 2, 7, 2, 7, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 3, 1, 13, 9, 5, 3, 3, 2, 5, 2, 2, 5, 5, 7, 5, 2, 7, 2, 5, 6, 9, 11, 5, 2, 7, 4, 2, 6, 2, 5, 1, 2, 7, 7, 9, 9, 11, 11, 3, 5, 5, 7, 3, 3, 2, 4, 2, 2, 7, 2, 6, 2, 7, 5, 4, 2, 2, 5, 3, 2, 5, 7, 5, 7, 7, 9, 5, 7, 8, 10, 3, 7, 9, 2, 6, 2, 2, 2, 2, 2, 2, 7, 9, 7, 3, 1, 5, 7, 9, 11, 2, 5, 2, 5, 3, 5, 11, 15, 11, 1, 2, 11, 15, 19, 7, 5, 5, 5, 7, 1, 3, 2, 4, 2, 2, 2, 1, 1, 8, 1, 9, 1, 11, 3, 1, 7, 2 };int yychk[]={ -1000, -64, -65, -66, -67, -24, 59, -39, -25, -40, -41, -28, -72, -29, -69, 40, 42, 283, 284, 285, 286, 287, 296, 297, 288, 289, 290, 291, 292, 293, 294, 295, 298, -30, -36, 282, 257, -31, 301, 299, 300, -66, -77, -78, 59, -26, -39, -27, 91, -76, -40, -25, -25, -25, -39, -73, -41, -72, -69, 123, 123, -69, -68, -68, 59, 44, 61, -79, 93, -23, -17, -16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -4, 40, -2, 262, 263, -5, 260, -1, 38, 42, 43, 45, 126, 33, -69, 258, -70, 259, 40, 41, -41, -72, -75, -32, -33, -71, -29, -72, -37, -38, -69, 123, 59, -63, -56, -57, 123, -24, -25, -27, -39, -50, -18, 123, -17, -4, -68, 93, 271, 63, 270, 124, 94, 38, 268, 269, 60, 62, 266, 267, 264, 265, 43, 45, 42, 47, 37, -22, -47, -18, -21, -71, 91, 40, 46, 261, 262, 263, -4, 40, -4, -6, -4, 40, 259, 41, -44, -42, -45, -43, -46, -69, -25, 123, 125, -33, -72, -29, -34, 59, -35, -39, 58, 125, 44, 61, -37, -24, -80, 125, -58, -55, -52, -53, -56, -59, -60, -61, -62, -69, 304, 305, 59, -21, 306, 308, 309, 310, 311, 312, 313, 314, 315, -22, -51, -50, -19, 61, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, -63, -15, -21, -14, -13, -12, -11, -10, -10, -9, -9, -9, -9, -8, -8, -7, -7, -6, -6, -6, 41, 41, 44, -48, -41, -49, 40, 91, -22, 41, -3, -18, -69, -69, -47, 41, 41, 44, 44, -39, -48, -41, 40, -32, 59, 44, 58, -23, -38, -23, 125, -56, 125, -52, -54, -57, 58, -23, 58, 59, 40, 40, 40, -52, 40, -69, 59, 59, 59, -21, 125, 44, -18, 58, -6, -18, -49, 91, -76, -48, 41, -44, 93, -23, 93, 41, -74, 41, 302, -46, -69, 125, -35, -23, 125, -58, -52, 58, -52, -21, -21, -21, 309, -20, -21, 59, 59, 125, -50, -17, 93, -23, 40, 41, 41, 93, 44, 125, -52, 41, 41, 41, 40, 59, 93, 41, -44, -18, -52, -52, -52, -21, -20, 41, 307, 41, 59, -52, 59, -20, 41, -52 };int yydef[]={ 216, -2, 217, 218, 220, 221, 222, -2, 0, -2, 0, 81, 83, 85, 138, 0, 145, 91, 92, 93, 94, 95, 149, 150, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 233, 0, 0, 112, 113, 219, 223, 223, 79, 0, -2, 87, 0, 0, -2, 82, 84, 86, 0, 146, 147, 151, -2, 0, 0, 129, 0, 0, 80, 0, 0, 223, 140, 0, 78, 60, 58, 56, 54, 52, 50, 47, 42, 39, 36, 32, 30, 0, 18, 0, 0, 0, 0, 7, 24, 25, 26, 27, 28, 29, 1, 2, 3, 5, 0, 139, 148, 152, 0, 0, 114, 0, 116, 117, 0, 130, 133, 0, 225, 227, 230, 231, 192, 197, 0, 88, 89, 90, 177, 0, 62, 30, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 76, 0, 163, 0, 0, 0, 0, 13, 14, 19, 0, 20, 21, 22, 0, 6, 142, 0, 0, 156, 153, 158, 154, 162, 0, 110, 115, 118, 119, 0, 121, 122, 124, 0, 127, 132, 0, 0, 198, 0, 193, 0, 0, 199, 182, 183, 184, 185, 186, 187, 1, 0, 0, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 180, 0, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 229, 59, 0, 57, 55, 53, 51, 48, 49, 43, 44, 45, 46, 40, 41, 37, 38, 33, 34, 35, 4, 0, 0, 164, 165, -2, 0, 0, 75, 9, 17, 15, 11, 12, 0, 143, 144, 0, 0, 160, 161, 165, 0, 0, 120, 0, 0, 125, 131, 134, 128, 232, 194, 200, 0, 191, 0, 0, 0, 202, 0, 0, 0, 0, 206, 0, 212, 213, 214, 0, 178, 0, 63, 0, 31, 77, -2, 0, 0, 0, 173, 0, 169, 0, 8, 10, 0, 23, 157, 159, 155, 109, 123, 126, 195, 0, 188, 0, 190, 0, 0, 0, 0, 0, 207, 211, 215, 179, 181, 61, 171, 0, 0, 168, 174, 170, 0, 196, 189, 0, 0, 0, 0, 206, 172, 175, 0, 16, 203, 205, 208, 0, 0, 176, 0, 0, 206, 204, 209, 0, 0, 210 };typedef struct { char *t_name; int t_val; } yytoktype;#ifndef YYDEBUG# define YYDEBUG 1 /* allow debugging */#endif#if YYDEBUGyytoktype yytoks[] ={ "IDENTIFIER", 257, "CONSTANT", 258, "STRING_LITERAL", 259, "SIZEOF", 260, "PTR_OP", 261, "INC_OP", 262, "DEC_OP", 263, "LEFT_OP", 264, "RIGHT_OP", 265, "LE_OP", 266, "GE_OP", 267, "EQ_OP", 268, "NE_OP", 269, "AND_OP", 270, "OR_OP", 271, "MUL_ASSIGN", 272, "DIV_ASSIGN", 273, "MOD_ASSIGN", 274, "ADD_ASSIGN", 275, "SUB_ASSIGN", 276, "LEFT_ASSIGN", 277, "RIGHT_ASSIGN", 278, "AND_ASSIGN", 279, "XOR_ASSIGN", 280, "OR_ASSIGN", 281, "TYPE_NAME", 282, "TYPEDEF", 283, "EXTERN", 284, "STATIC", 285, "AUTO", 286, "REGISTER", 287, "CHAR", 288, "SHORT", 289, "INT", 290, "LONG", 291, "SIGNED", 292, "UNSIGNED", 293, "FLOAT", 294, "DOUBLE", 295, "CONST", 296, "VOLATILE", 297, "VOID", 298, "STRUCT", 299, "UNION", 300, "ENUM", 301, "ELIPSIS", 302, "RANGE", 303, "CASE", 304, "DEFAULT", 305, "IF", 306, "ELSE", 307, "SWITCH", 308, "WHILE", 309, "DO", 310, "FOR", 311, "GOTO", 312, "CONTINUE", 313, "BREAK", 314, "RETURN", 315, ";", 59, "(", 40, ")", 41, "{", 123, "}", 125, ":", 58, "&", 38, "*", 42, "~", 126, "+", 43, "-", 45, "!", 33, "-unknown-", -1 /* ends search */};char * yyreds[] ={ "-no such reduction-", "primary_expr : identifier", "primary_expr : CONSTANT", "primary_expr : string_literal_list", "primary_expr : '(' exprXX ')'", "string_literal_list : STRING_LITERAL", "string_literal_list : string_literal_list STRING_LITERAL", "postfix_expr : primary_expr", "postfix_expr : postfix_expr '[' exprXX ']'", "postfix_expr : postfix_expr '(' ')'", "postfix_expr : postfix_expr '(' argument_expr_list ')'", "postfix_expr : postfix_expr '.' identifier", "postfix_expr : postfix_expr PTR_OP identifier", "postfix_expr : postfix_expr INC_OP", "postfix_expr : postfix_expr DEC_OP", "argument_expr_list : assignment_expr", "argument_expr_list : argument_expr_list comma_comming ',' assignment_expr", "comma_comming : /* empty */", "unary_expr : postfix_expr", "unary_expr : INC_OP unary_expr", "unary_expr : DEC_OP unary_expr", "unary_expr : unary_operator cast_expr", "unary_expr : SIZEOF unary_expr", "unary_expr : SIZEOF '(' type_name ')'", "unary_operator : '&'", "unary_operator : '*'", "unary_operator : '+'", "unary_operator : '-'", "unary_operator : '~'", "unary_operator : '!'", "cast_expr : unary_expr", "cast_expr : '(' type_name ')' cast_expr", "multiplicative_expr : cast_expr", "multiplicative_expr : multiplicative_expr '*' cast_expr", "multiplicative_expr : multiplicative_expr '/' cast_expr", "multiplicative_expr : multiplicative_expr '%' cast_expr", "additive_expr : multiplicative_expr", "additive_expr : additive_expr '+' multiplicative_expr", "additive_expr : additive_expr '-' multiplicative_expr", "shift_expr : additive_expr", "shift_expr : shift_expr LEFT_OP additive_expr", "shift_expr : shift_expr RIGHT_OP additive_expr", "relational_expr : shift_expr", "relational_expr : relational_expr '<' shift_expr", "relational_expr : relational_expr '>' shift_expr", "relational_expr : relational_expr LE_OP shift_expr", "relational_expr : relational_expr GE_OP shift_expr", "equality_expr : relational_expr", "equality_expr : equality_expr EQ_OP relational_expr", "equality_expr : equality_expr NE_OP relational_expr", "and_expr : equality_expr", "and_expr : and_expr '&' equality_expr", "exclusive_or_expr : and_expr", "exclusive_or_expr : exclusive_or_expr '^' and_expr", "inclusive_or_expr : exclusive_or_expr", "inclusive_or_expr : inclusive_or_expr '|' exclusive_or_expr", "logical_and_expr : inclusive_or_expr", "logical_and_expr : logical_and_expr AND_OP inclusive_or_expr", "logical_or_expr : logical_and_expr", "logical_or_expr : logical_or_expr OR_OP logical_and_expr", "conditional_expr : logical_or_expr", "conditional_expr : logical_or_expr '?' expr ':' conditional_expr", "assignment_expr : conditional_expr", "assignment_expr : unary_expr assignment_operator assignment_expr", "assignment_operator : '='", "assignment_operator : MUL_ASSIGN", "assignment_operator : DIV_ASSIGN", "assignment_operator : MOD_ASSIGN", "assignment_operator : ADD_ASSIGN", "assignment_operator : SUB_ASSIGN", "assignment_operator : LEFT_ASSIGN", "assignment_operator : RIGHT_ASSIGN", "assignment_operator : AND_ASSIGN", "assignment_operator : XOR_ASSIGN", "assignment_operator : OR_ASSIGN", "expr : exprXX", "exprXX : assignment_expr", "exprXX : expr ',' assignment_expr", "constant_expr : conditional_expr", "declaration : declaration_specifiers ';'", "declaration : declaration_specifiers init_declarator_list ';'", "declaration_specifiers : storage_class_specifier", "declaration_specifiers : storage_class_specifier declaration_specifiers", "declaration_specifiers : type_qualifier", "declaration_specifiers : type_qualifier declaration_specifiers", "declaration_specifiers : type_specifier", "declaration_specifiers : type_specifier declaration_specifiers", "init_declarator_list : init_declarator", "init_declarator_list : init_declarator_list ',' init_declarator", "init_declarator : declarator", "init_declarator : declarator '=' initializer", "storage_class_specifier : TYPEDEF", "storage_class_specifier : EXTERN", "storage_class_specifier : STATIC", "storage_class_specifier : AUTO", "storage_class_specifier : REGISTER", "type_specifier : CHAR", "type_specifier : SHORT", "type_specifier : INT", "type_specifier : LONG", "type_specifier : SIGNED", "type_specifier : UNSIGNED", "type_specifier : FLOAT", "type_specifier : DOUBLE", "type_specifier : VOID", "type_specifier : struct_or_union_specifier", "type_specifier : enum_specifier", "type_specifier : TYPE_NAME", "struct_or_union_specifier : struct_or_union identifier", "struct_or_union_specifier : struct_or_union identifier '{' struct_declaration_list '}'", "struct_or_union_specifier : struct_or_union '{' struct_declaration_list '}'", "struct_or_union_specifier : struct_or_union identifier", "struct_or_union : STRUCT", "struct_or_union : UNION", "struct_declaration_list : struct_declaration", "struct_declaration_list : struct_declaration_list struct_declaration", "specifier_qual_list : type_specifier", "specifier_qual_list : type_qualifier", "specifier_qual_list : specifier_qual_list type_qualifier", "specifier_qual_list : specifier_qual_list type_specifier", "struct_declaration : specifier_qual_list struct_declarator_list ';'", "struct_declaration : specifier_qual_list ';'", "struct_declarator_list : struct_declarator", "struct_declarator_list : struct_declarator_list ',' struct_declarator", "struct_declarator : declarator", "struct_declarator : ':' constant_expr", "struct_declarator : declarator ':' constant_expr", "enum_specifier : ENUM '{' enumerator_list '}'", "enum_specifier : ENUM identifier '{' enumerator_list '}'", "enum_specifier : ENUM identifier", "enumerator_list : enumerator", "enumerator_list : enumerator_list ',' enumerator", "enumerator_list : enumerator_list ','", "enumerator : identifier", "enumerator : identifier '=' constant_expr", "declarator : declarator2", "declarator : pointer declarator2", "parms_next : /* empty */", "declarator2 : identifier", "declarator2 : '(' declarator ')'", "declarator2 : declarator2 '[' ']'", "declarator2 : declarator2 '[' constant_expr ']'", "declarator2 : declarator2 parms_next '(' ')'", "declarator2 : declarator2 parms_next '(' parameter_type_list ')'", "declarator2 : declarator2 parms_next '(' parameter_identifier_list ')'", "pointer : '*'", "pointer : '*' type_qualifier_list", "pointer : '*' pointer", "pointer : '*' type_qualifier_list pointer", "type_qualifier : CONST", "type_qualifier : VOLATILE", "type_qualifier_list : type_qualifier", "type_qualifier_list : type_qualifier_list type_qualifier", "parameter_identifier_list : identifier_list", "identifier_list : identifier", "identifier_list : identifier_list ',' identifier", "parameter_type_list : parameter_list", "parameter_type_list : parameter_list ',' ELIPSIS", "parameter_list : parameter_declaration", "parameter_list : parameter_list ',' parameter_declaration", "parameter_declaration : declaration_specifiers declarator", "parameter_declaration : declaration_specifiers abstract_declarator", "parameter_declaration : declaration_specifiers", "type_name : specifier_qual_list", "type_name : specifier_qual_list abstract_declarator", "abstract_declarator : pointer", "abstract_declarator : abstract_declarator2",
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?