📄 c-.tab.c
字号:
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51};#if YYDEBUG/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */static const unsigned short yyprhs[] ={ 0, 0, 3, 5, 7, 9, 11, 13, 15, 17, 21, 23, 28, 32, 37, 41, 45, 48, 51, 53, 57, 59, 62, 65, 68, 71, 76, 78, 80, 82, 84, 86, 88, 93, 95, 99, 103, 107, 109, 113, 117, 119, 123, 127, 129, 133, 137, 141, 145, 147, 151, 155, 157, 161, 163, 167, 169, 173, 175, 179, 181, 185, 187, 193, 195, 199, 201, 203, 205, 207, 209, 211, 213, 215, 217, 219, 221, 223, 227, 229, 232, 236, 238, 241, 243, 247, 249, 250, 255, 257, 259, 261, 263, 265, 267, 268, 275, 276, 282, 285, 287, 290, 294, 297, 299, 301, 305, 308, 310, 312, 316, 321, 325, 326, 332, 337, 338, 343, 345, 349, 352, 355, 357, 359, 363, 365, 368, 370, 372, 375, 379, 382, 386, 389, 393, 395, 399, 401, 405, 407, 409, 411, 413, 415, 417, 419, 423, 428, 432, 435, 439, 443, 448, 450, 453, 455, 458, 460, 463, 469, 474, 476, 480, 486, 494, 500, 506, 514, 521, 529, 533, 536, 539, 542, 546, 548, 551, 553, 555, 560, 564, 568};/* YYRHS -- A `-1'-separated list of the rules' RHS. */static const short yyrhs[] ={ 133, 0, -1, 3, -1, 4, -1, 5, -1, 6, -1, 7, -1, 8, -1, 9, -1, 52, 95, 53, -1, 76, -1, 77, 54, 95, 55, -1, 77, 52, 53, -1, 77, 52, 78, 53, -1, 77, 56, 3, -1, 77, 11, 3, -1, 77, 12, -1, 77, 13, -1, 93, -1, 78, 57, 93, -1, 77, -1, 12, 79, -1, 13, 79, -1, 80, 81, -1, 10, 79, -1, 10, 52, 117, 53, -1, 58, -1, 59, -1, 60, -1, 61, -1, 62, -1, 79, -1, 52, 117, 53, 81, -1, 81, -1, 82, 59, 81, -1, 82, 63, 81, -1, 82, 64, 81, -1, 82, -1, 83, 60, 82, -1, 83, 61, 82, -1, 83, -1, 84, 14, 83, -1, 84, 15, 83, -1, 84, -1, 85, 65, 84, -1, 85, 66, 84, -1, 85, 16, 84, -1, 85, 17, 84, -1, 85, -1, 86, 18, 85, -1, 86, 19, 85, -1, 86, -1, 87, 58, 86, -1, 87, -1, 88, 67, 87, -1, 88, -1, 89, 68, 88, -1, 89, -1, 90, 21, 89, -1, 90, -1, 91, 22, 90, -1, 91, -1, 91, 69, 95, 70, 92, -1, 92, -1, 79, 94, 93, -1, 71, -1, 23, -1, 24, -1, 25, -1, 26, -1, 27, -1, 28, -1, 29, -1, 30, -1, 31, -1, 32, -1, 93, -1, 95, 57, 93, -1, 92, -1, 98, 72, -1, 98, 99, 72, -1, 102, -1, 102, 98, -1, 100, -1, 99, 57, 100, -1, 110, -1, -1, 110, 71, 101, 120, -1, 33, -1, 34, -1, 35, -1, 37, -1, 36, -1, 103, -1, -1, 38, 3, 73, 104, 106, 74, -1, -1, 38, 73, 105, 106, 74, -1, 38, 3, -1, 107, -1, 106, 107, -1, 108, 109, 72, -1, 102, 108, -1, 102, -1, 110, -1, 109, 57, 110, -1, 59, 111, -1, 111, -1, 3, -1, 52, 110, 53, -1, 111, 54, 96, 55, -1, 111, 54, 55, -1, -1, 111, 52, 112, 114, 53, -1, 111, 52, 116, 53, -1, -1, 111, 52, 113, 53, -1, 115, -1, 114, 57, 115, -1, 98, 110, -1, 98, 118, -1, 98, -1, 3, -1, 116, 57, 3, -1, 108, -1, 108, 118, -1, 59, -1, 119, -1, 59, 119, -1, 52, 118, 53, -1, 54, 55, -1, 54, 96, 55, -1, 52, 53, -1, 52, 114, 53, -1, 93, -1, 73, 121, 74, -1, 120, -1, 121, 57, 120, -1, 123, -1, 124, -1, 127, -1, 130, -1, 131, -1, 132, -1, 128, -1, 3, 70, 122, -1, 39, 96, 70, 122, -1, 40, 70, 122, -1, 73, 74, -1, 73, 126, 74, -1, 73, 125, 74, -1, 73, 125, 126, 74, -1, 97, -1, 125, 97, -1, 122, -1, 126, 122, -1, 72, -1, 95, 72, -1, 51, 52, 129, 53, 72, -1, 51, 52, 1, 72, -1, 93, -1, 129, 20, 93, -1, 41, 52, 95, 53, 122, -1, 41, 52, 95, 53, 122, 42, 122, -1, 43, 52, 95, 53, 122, -1, 44, 52, 95, 53, 122, -1, 45, 122, 44, 52, 95, 53, 72, -1, 46, 52, 127, 127, 53, 122, -1, 46, 52, 127, 127, 95, 53, 122, -1, 47, 3, 72, -1, 48, 72, -1, 49, 72, -1, 50, 72, -1, 50, 95, 72, -1, 134, -1, 133, 134, -1, 135, -1, 97, -1, 98, 110, 125, 124, -1, 98, 110, 124, -1, 110, 125, 124, -1, 110, 124, -1};/* YYRLINE[YYN] -- source line where rule number YYN was defined. */static const unsigned short yyrline[] ={ 0, 63, 63, 76, 77, 100, 107, 108, 109, 110, 114, 115, 121, 122, 123, 129, 130, 134, 141, 142, 146, 147, 151, 155, 156, 157, 161, 162, 163, 164, 165, 169, 170, 177, 178, 180, 182, 187, 188, 190, 195, 196, 198, 203, 204, 206, 208, 210, 215, 216, 218, 223, 224, 229, 230, 235, 236, 241, 242, 247, 248, 253, 254, 259, 260, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 280, 281, 287, 291, 292, 306, 307, 312, 314, 321, 322, 322, 348, 349, 350, 351, 352, 353, 357, 357, 371, 371, 380, 393, 394, 398, 402, 403, 407, 413, 429, 430, 434, 435, 436, 460, 471, 470, 485, 488, 487, 504, 505, 511, 520, 525, 529, 536, 546, 547, 552, 553, 554, 558, 559, 560, 561, 562, 566, 572, 576, 577, 583, 584, 585, 586, 587, 588, 589, 593, 595, 598, 602, 603, 604, 605, 610, 611, 615, 616, 620, 621, 625, 627, 631, 632, 639, 643, 648, 655, 662, 669, 678, 691, 692, 693, 694, 695, 699, 700, 704, 705, 709, 717, 723, 729};#endif#if YYDEBUG || YYERROR_VERBOSE/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */static const char *const yytname[] ={ "$end", "error", "$undefined", "ID", "INT_VAL", "CHAR_VAL", "FLT_VAL", "HEX_VAL", "EP_VAL", "STRING", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP", "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "PRN_OP", "AND_OP", "OR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "CHAR", "INT", "FLOAT", "DOUBLE", "VOID", "STRUCT", "CASE", "DEFAULT", "IF", "ELSE", "SWITCH", "WHILE", "DO", "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "PRINTLN", "'('", "')'", "'['", "']'", "'.'", "','", "'&'", "'*'", "'+'", "'-'", "'!'", "'/'", "'%'", "'<'", "'>'", "'^'", "'|'", "'?'", "':'", "'='", "';'", "'{'", "'}'", "$accept", "primary_expression", "postfix_expression", "argument_expression_list", "unary_expression", "unary_operator", "cast_expression", "multiplicative_expression", "additive_expression", "shift_expression", "relational_expression", "equality_expression", "and_expression", "exclusive_or_expression", "inclusive_or_expression", "logical_and_expression", "logical_or_expression", "conditional_expression", "assignment_expression", "assignment_operator", "expression", "constant_expression", "declaration", "declaration_specifiers", "init_declarator_list", "init_declarator", "@1", "type_specifier", "struct_specifier", "@2", "@3", "struct_declaration_list", "struct_declaration", "specifier_qualifier_list", "struct_declarator_list", "declarator", "direct_declarator", "@4", "@5", "parameter_list", "parameter_declaration", "identifier_list", "type_name", "abstract_declarator", "direct_abstract_declarator", "initializer", "initializer_list", "statement", "labeled_statement", "compound_statement", "declaration_list", "statement_list", "expression_statement", "print_statement", "print_list", "selection_statement", "iteration_statement", "jump_statement", "program", "external_declaration", "function_definition", 0};#endif# ifdef YYPRINT/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */static const unsigned short yytoknum[] ={ 0, 256, 257, 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, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 40, 41, 91, 93, 46, 44, 38, 42, 43, 45, 33, 47, 37, 60, 62, 94, 124, 63, 58, 61, 59, 123, 125};# endif/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */static const unsigned char yyr1[] ={ 0, 75, 76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 78, 78, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 81, 81, 82, 82, 82, 82, 83, 83, 83, 84, 84, 84, 85, 85, 85, 85, 85, 86, 86, 86, 87, 87, 88, 88, 89, 89, 90, 90, 91, 91, 92, 92, 93, 93, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95, 95, 96, 97, 97, 98, 98, 99, 99, 100, 101, 100, 102, 102, 102, 102, 102, 102, 104, 103, 105, 103, 103, 106, 106, 107, 108, 108, 109, 109, 110, 110, 111, 111, 111, 111, 112, 111, 111, 113, 111, 114, 114, 115, 115, 115, 116, 116, 117, 117, 118, 118, 118, 119, 119, 119, 119, 119, 120, 120, 121, 121, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 124, 124, 124, 124, 125, 125, 126, 126, 127, 127, 128, 128, 129, 129, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132, 132, 133, 133, 134, 134, 135, 135, 135, 135};/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */static const unsigned char yyr2[] ={ 0, 2, 1, 1, 1, 1, 1, 1, 1, 3, 1, 4, 3, 4, 3, 3, 2, 2, 1, 3, 1, 2, 2, 2, 2, 4, 1, 1, 1, 1, 1, 1, 4, 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 3, 1, 2, 1, 3, 1, 0, 4, 1, 1, 1, 1, 1, 1, 0, 6, 0, 5, 2, 1, 2, 3, 2, 1, 1, 3, 2, 1, 1, 3, 4, 3, 0, 5, 4, 0, 4, 1, 3, 2, 2, 1, 1, 3, 1, 2, 1, 1, 2, 3, 2, 3, 2, 3, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 4, 3, 2, 3, 3, 4, 1, 2, 1, 2, 1, 2, 5, 4, 1, 3, 5, 7, 5, 5, 7, 6, 7, 3, 2, 2, 2, 3, 1, 2, 1, 1, 4, 3, 3, 2};/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */static const unsigned char yydefact[] ={ 0, 108, 88, 89, 90, 92, 91, 0, 0, 0, 177, 0, 81, 93, 0, 107, 0, 174, 176, 98, 96, 0, 106, 79, 0, 83, 85, 82, 0, 152, 0, 181, 0, 112, 0, 1, 175, 94, 0, 109, 0, 80, 86, 179, 0, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, 30, 156, 148, 10, 20, 31, 0, 33, 37, 40, 43, 48, 51, 53, 55, 57, 59, 61, 63, 76, 0, 154, 138, 139, 0, 0, 140, 144, 141, 142, 143, 85, 153, 180, 122, 0, 0, 0, 2, 111, 31, 78, 0, 0, 103, 0, 99, 0, 84, 0, 178, 0, 0, 24, 0, 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, 170, 171, 172, 0, 0, 0, 124, 0, 0, 16, 17, 0, 0, 0, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 65, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 150, 0, 149, 155, 121, 0, 117, 116, 114, 0, 110, 0, 102, 97, 100, 0, 104, 0, 134, 87, 145, 0, 0, 147, 0, 0, 0, 0, 0, 169, 173, 0, 160, 0, 9, 0, 0, 126, 125, 127, 0, 15, 12, 0, 18, 0, 14, 64, 34, 35, 36, 38, 39, 41, 42, 46, 47, 44, 45, 49, 50, 52, 54, 56, 58, 60, 0, 77, 151, 0, 126, 119, 120, 113, 0, 123, 95, 0, 101, 136, 0, 25, 146, 0, 0, 0, 0, 0, 159, 0, 0, 132, 0, 0, 130, 0, 128, 32, 13, 0, 11, 0, 118, 105, 0, 135, 162, 164, 165, 0, 0, 0, 161, 158, 133, 129, 131, 19, 62, 137, 0, 0, 167, 0, 163, 166, 168};/* YYDEFGOTO[NTERM-NUM]. */static const short yydefgoto[] ={ -1, 75, 76, 228, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 162, 92, 114, 29, 30, 24, 25, 121, 12, 13, 115, 38, 117, 118, 119, 200, 14, 15, 107, 108, 277, 191, 109, 144, 278, 224, 204, 265, 93, 94, 95, 32, 97, 98, 99, 218, 100, 101, 102, 16, 17, 18};/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */#define YYPACT_NINF -201static const short yypact[] ={ 437, -201, -201, -201, -201, -201, -201, 17, 73, 18, -201, 34, 195, -201, 315, -5, 189, -201, -201, -33, -201, 8, -5, -201, -19, -201, 180, -201, 262, -201, 34, -201, 315, 29, 661, -201, -201, -201, 195, -201, 73, -201, -201, -201, 315, 65, -201, -201, -201, -201, -201, -201, 809, 820, 820, 831, 86, 26, 125, 136, 550, 158, 171, 124, 147, 566, 169, 702, -201, -201, -201, -201, -201, -201, -201, -201, 231, 175, 831, -201, 122, 69, 144, 68, 146, 176, 173, 177, 229, 14, -201, -201, -14, -201, -201, -201, 334, 406, -201, -201, -201, -201, -201, 191, -201, -201, -201, 195, 211, 74, -201, -201, -201, -201, 239, 195, 195, 244, -201, 73, -201, 111, -201, 550, 702, -201, 831, -201, -201, 214, 550, 831, 831, 831, 242, 627, 232, -201, -201, -201, -13, 642, 134, 103, 263, 312, -201, -201, 721, 831, 314, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, 831, -201, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, -201, -201, 478, -201, -201, 51, 137, -201, -201, -201, 316, -201, 255, -201, -201, -201, 56, -201, 111, -201, -201, -201, 272, 550, -201, 182, 199, 204, 281, 627, -201, -201, 283, -201, -1, -201, 389, 738, 45, -201, -201, 831, -201, -201, 273, -201, -16, -201, -201, -201, -201, -201, 122, 122, 69, 69, 144, 144, 144, 144, 68, 68, 146, 176, 173, 177, 229, 38, -201, -201, 861, 15, -201, -201, -201, 195, -201, -201, 73, -201, -201, -23, -201, -201, 550, 550, 550, 831, 798, -201, 831, 284, -201, 274, 292, -201, 302, -201, -201, -201, 831, -201, 831, -201, -201, 111, -201, 321, -201, -201, 275, 550, 301, -201, -201, -201, -201, -201, -201, -201, -201, 550, 293, -201, 550, -201, -201, -201};/* YYPGOTO[NTERM-NUM]. */static const short yypgoto[] ={ -201, -201, -201, -201, -28, -201, -64, 12, -3, 188, 33, 187, 198, 208, 186, 209, -201, -26, -106, -201, -60, -45, 30, 0, -201, 349, -201, -36, -201, -201, -201, 276, -104, -56, -201, -7, -6, -201, -201, 290, 139, -201, 277, -95, -200, -185, -201, -32, -201, 31, 83, 303, -126, -201, -201, -201, -201, -201, -201, 384, -201};/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */#define YYTABLE_NINF -116static const short yytable[] ={ 11, 21, 116, 22, 26, 140, 112, 142, 113, 213, 129, 143, 27, 199, 163, 203, 11, 264, 1, 274, 19, 1, 281, 103, 125, 127, 128, 112, 134, 113, 10, 116, 106, 103, 289, 217, 181, 1, 40, 285, 37, 183, 229, 183, 183, 31, 10, 33, 223, 34, 112, 290, 275, 41, 1, 281, 232, 43, 184, 215,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -