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 + -
显示快捷键?