📄 y.tab.c
字号:
35, 36, 37, 38, 39, 40, 41, 42, 43, 44};#if YYDEBUG/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */static const yytype_uint16 yyprhs[] ={ 0, 0, 3, 5, 7, 9, 11, 13, 17, 19, 21, 23, 27, 29, 31, 33, 35, 37, 39, 41, 44, 46, 48, 51, 54, 58, 61, 65, 69, 74, 78, 83, 88, 94, 98, 102, 108, 110, 113, 115, 118, 120, 123, 125, 128, 131, 133, 137, 142, 146, 149, 154, 158, 160, 162, 166, 169, 171, 174, 176, 178, 180, 182, 186, 190, 194, 197, 199, 202, 204, 206, 208, 210, 212, 214, 218, 224, 232, 238, 246, 254, 261, 265, 269, 273, 277, 279, 282, 284, 286, 289, 291, 293, 296, 298, 303, 307, 311, 314, 319, 323, 326, 328, 330, 332, 334, 336, 338, 341, 343, 346, 348, 352, 355, 358, 361, 363, 365};/* YYRHS -- A `-1'-separated list of the rules' RHS. */static const yytype_int8 yyrhs[] ={ 100, 0, -1, 31, -1, 30, -1, 29, -1, 28, -1, 42, -1, 55, 45, 42, -1, 54, -1, 55, -1, 55, -1, 57, 46, 55, -1, 16, -1, 26, -1, 22, -1, 25, -1, 24, -1, 23, -1, 58, -1, 59, 58, -1, 15, -1, 18, -1, 17, 57, -1, 19, 56, -1, 62, 46, 56, -1, 60, 42, -1, 60, 42, 62, -1, 60, 42, 61, -1, 60, 42, 62, 61, -1, 59, 60, 42, -1, 59, 60, 42, 62, -1, 59, 60, 42, 61, -1, 59, 60, 42, 62, 61, -1, 20, 55, 47, -1, 21, 55, 47, -1, 21, 55, 45, 48, 47, -1, 65, -1, 66, 65, -1, 41, -1, 67, 41, -1, 56, -1, 56, 67, -1, 42, -1, 69, 41, -1, 68, 69, -1, 70, -1, 71, 46, 70, -1, 69, 49, 71, 50, -1, 69, 49, 50, -1, 72, 41, -1, 59, 68, 72, 74, -1, 68, 72, 74, -1, 75, -1, 47, -1, 51, 76, 52, -1, 51, 52, -1, 77, -1, 76, 77, -1, 80, -1, 82, -1, 69, -1, 78, -1, 79, 46, 78, -1, 68, 79, 47, -1, 59, 68, 79, -1, 68, 79, -1, 83, -1, 84, 47, -1, 86, -1, 87, -1, 75, -1, 47, -1, 88, -1, 84, -1, 85, 46, 84, -1, 35, 49, 88, 50, 82, -1, 35, 49, 88, 50, 82, 36, 82, -1, 37, 49, 88, 50, 82, -1, 38, 82, 37, 49, 88, 50, 47, -1, 39, 49, 89, 90, 91, 50, 82, -1, 39, 49, 89, 90, 50, 82, -1, 88, 3, 88, -1, 88, 4, 88, -1, 88, 5, 88, -1, 88, 6, 88, -1, 43, -1, 85, 47, -1, 80, -1, 47, -1, 88, 47, -1, 47, -1, 85, -1, 23, 75, -1, 75, -1, 42, 49, 71, 50, -1, 42, 49, 50, -1, 59, 94, 75, -1, 94, 75, -1, 63, 51, 99, 52, -1, 63, 51, 52, -1, 81, 47, -1, 73, -1, 95, -1, 92, -1, 93, -1, 96, -1, 96, -1, 98, 96, -1, 97, -1, 99, 97, -1, 101, -1, 64, 66, 98, -1, 64, 66, -1, 64, 98, -1, 66, 98, -1, 64, -1, 66, -1, 98, -1};/* YYRLINE[YYN] -- source line where rule number YYN was defined. */static const yytype_uint16 yyrline[] ={ 0, 92, 92, 93, 94, 95, 100, 101, 106, 107, 112, 113, 118, 119, 120, 121, 122, 123, 128, 129, 134, 135, 140, 145, 146, 150, 151, 152, 153, 154, 155, 156, 157, 162, 167, 168, 172, 173, 178, 179, 184, 185, 190, 191, 196, 201, 202, 207, 208, 209, 214, 215, 221, 222, 227, 228, 233, 234, 239, 240, 245, 249, 250, 255, 259, 260, 266, 267, 268, 269, 270, 274, 278, 282, 283, 288, 289, 293, 294, 295, 296, 311, 312, 313, 314, 315, 320, 321, 322, 326, 327, 331, 360, 364, 370, 371, 375, 376, 383, 384, 388, 389, 390, 391, 392, 393, 397, 398, 403, 404, 410, 414, 415, 416, 417, 418, 419, 420};#endif#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE/* YYTNAME[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", "OP_ADD", "OP_SUB", "OP_MUL", "OP_DIV", "OP_EQ", "OP_LE", "OP_GE", "OP_NE", "OP_Logical_OR", "OP_Logical_AND", "OP_INC", "OP_DEC", "CLASS", "ABSTRACT", "IMPLEMENTS", "INTERFACE", "EXTENDS", "PACKAGE", "IMPORT", "PUBLIC", "STATIC", "PRIVATE", "PROTECTED", "FINAL", "RETURN", "VOID", "INT", "CHAR", "BOOLEAN", "SUPER", "THIS", "JNULL", "IF", "ELSE", "WHILE", "DO", "FOR", "OPERATOR", "OP_DIM", "IDENTIFIER", "LITERAL", "BOOLLIT", "'.'", "','", "';'", "'*'", "'('", "')'", "'{'", "'}'", "$accept", "PrimitiveType", "QualifiedName", "TypeName", "ClassNameList", "Modifier", "Modifiers", "ClassWord", "Interfaces", "Extends", "ClassHeader", "PackageStatement", "ImportStatement", "ImportStatements", "Dims", "TypeSpecifier", "DeclaratorName", "Parameter", "ParameterList", "MethodDeclarator", "MethodDeclaration", "MethodBody", "Block", "LocalVariableDeclarationsAndStatements", "LocalVariableDeclarationOrStatement", "VariableDeclarator", "VariableDeclarators", "LocalVariableDeclarationStatement", "FieldVariableDeclaration", "Statement", "EmptyStatement", "ExpressionStatement", "ExpressionStatements", "SelectionStatement", "IterationStatement", "Expression", "ForInit", "ForExpr", "ForIncr", "StaticInitializer", "NonStaticInitializer", "ConstructorDeclarator", "ConstructorDeclaration", "TypeDeclaration", "FieldDeclaration", "TypeDeclarations", "FieldDeclarations", "CompilationUnit", "ProgramFile", 0};#endif# ifdef YYPRINT/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */static const yytype_uint16 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, 46, 44, 59, 42, 40, 41, 123, 125};# endif/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */static const yytype_uint8 yyr1[] ={ 0, 53, 54, 54, 54, 54, 55, 55, 56, 56, 57, 57, 58, 58, 58, 58, 58, 58, 59, 59, 60, 60, 61, 62, 62, 63, 63, 63, 63, 63, 63, 63, 63, 64, 65, 65, 66, 66, 67, 67, 68, 68, 69, 69, 70, 71, 71, 72, 72, 72, 73, 73, 74, 74, 75, 75, 76, 76, 77, 77, 78, 79, 79, 80, 81, 81, 82, 82, 82, 82, 82, 83, 84, 85, 85, 86, 86, 87, 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 90, 91, 92, 93, 94, 94, 95, 95, 96, 96, 97, 97, 97, 97, 97, 97, 98, 98, 99, 99, 100, 101, 101, 101, 101, 101, 101, 101};/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */static const yytype_uint8 yyr2[] ={ 0, 2, 1, 1, 1, 1, 1, 3, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 3, 2, 3, 3, 4, 3, 4, 4, 5, 3, 3, 5, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 3, 4, 3, 2, 4, 3, 1, 1, 3, 2, 1, 2, 1, 1, 1, 1, 3, 3, 3, 2, 1, 2, 1, 1, 1, 1, 1, 1, 3, 5, 7, 5, 7, 7, 6, 3, 3, 3, 3, 1, 2, 1, 1, 2, 1, 1, 2, 1, 4, 3, 3, 2, 4, 3, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 2, 2, 2, 1, 1, 1};/* 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 yytype_uint8 yydefact[] ={ 0, 20, 12, 21, 0, 0, 14, 17, 16, 15, 13, 18, 0, 0, 0, 115, 36, 116, 106, 117, 0, 110, 6, 0, 0, 19, 0, 25, 0, 112, 113, 37, 114, 107, 1, 0, 33, 0, 34, 29, 0, 0, 27, 26, 17, 5, 4, 3, 2, 6, 0, 99, 8, 9, 40, 0, 0, 101, 93, 0, 103, 104, 0, 102, 105, 108, 0, 111, 7, 0, 31, 30, 10, 22, 23, 0, 28, 92, 0, 0, 0, 0, 0, 85, 71, 55, 0, 70, 0, 56, 58, 59, 66, 0, 68, 69, 72, 38, 41, 0, 0, 42, 60, 0, 61, 65, 100, 97, 98, 109, 35, 32, 0, 24, 95, 0, 45, 0, 0, 0, 0, 0, 60, 0, 54, 57, 67, 0, 0, 0, 0, 39, 0, 64, 96, 43, 0, 49, 53, 51, 52, 0, 11, 44, 0, 94, 0, 0, 0, 88, 87, 73, 0, 0, 63, 81, 82, 83, 84, 50, 48, 0, 62, 46, 0, 0, 0, 0, 86, 90, 0, 0, 47, 75, 77, 0, 74, 89, 0, 91, 0, 0, 0, 80, 0, 76, 78, 79};/* YYDEFGOTO[NTERM-NUM]. */static const yytype_int16 yydefgoto[] ={ -1, 52, 53, 54, 73, 11, 12, 13, 42, 43, 14, 15, 16, 17, 98, 86, 102, 116, 117, 103, 57, 139, 87, 88, 89, 104, 105, 90, 59, 91, 92, 93, 152, 94, 95, 96, 153, 171, 180, 60, 61, 62, 63, 18, 65, 19, 66, 20, 21};/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */#define YYPACT_NINF -117static const yytype_int16 yypact[] ={ 245, -117, -117, -117, -26, -26, -117, -117, -117, -117, -117, -117, 269, 59, 2, 257, -117, 257, -117, 269, 74, -117, -117, 52, 85, -117, 63, 121, 97, 257, 269, -117, 269, -117, -117, 72, -117, 29, -117, 121, -26, 60, -117, 8, 73, -117, -117, -117, -117, 80, 165, -117, -117, 100, 101, 159, 127, -117, -117, 114, -117, -117, 73, -117, -117, -117, 128, 269, -117, 120, -117, 8, 100, 132, -117, 60, -117, -117, 54, 122, 124, 125, 137, -117, -117, -117, 127, -117, 190, -117, -117, -117, -117, 144, -117, -117, 244, -117, 151, 127, 73, -117, -7, 90, -117, 152, -117, -117, -117, -117, -117, -117, -26, -117, -117, 127, -117, -11, 154, 154, 162, 215, 164, 71, -117, -117, -117, 154, 154, 154, 154, -117, 90, 152, -117, -117, 105, -117, -117, -117, -117, 127, 100, 164, 60, -117, 7, 26, 157, -117, -117, -117, 119, 32, -117, 244, 244, 244, 244, -117, -117, 48, -117, -117, 125, 125, 154, 154, -117, -117, 64, 30, -117, 173, -117, 42, -117, -117, 125, 167, 160, 125, 168, -117, 125, -117, -117, -117};/* YYPGOTO[NTERM-NUM]. */static const yytype_int16 yypgoto[] ={ -117, -117, -3, -34, -117, 9, -14, 11, 22, 172, -117, -117, 78, 199, -117, -28, -82, 79, 86, 131, -117, 92, -22, -117, 138, 93, -50, 110, -117, -78, -117, -116, 65, -117, -117, -110, -117, -117, -117, -117, -117, 180, -117, -4, 174, 43, -117, -117, -117};/* 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 -1static const yytype_uint8 yytable[] ={ 56, 23, 24, 120, 122, 151, 58, 74, 146, 147, 127, 128, 129, 130, 55, 33, 22, 155, 156, 157, 158, 25, 77, 26, 64, 40, 33, 99, 33, 127, 128, 129, 130, 143, 135, 144, 123, 72, 56, 145, 107, 113, 136, 170, 58, 127, 128, 129, 130, 133, 115, 176, 55, 28, 75, 151, 175, 164, 30, 122, 32, 70, 64, 33, 25, 76, 26, 127, 128, 129, 130, 68, 67, 83, 34, 83, 165, 69, 134, 169, 178, 140, 45, 46, 47, 48, 173, 174, 45, 46, 47, 48, 182, 111, 144, 31, 22, 35, 172, 36, 183, 27, 22, 185, 114, 39, 187, 31, 115, 142, 140, 177, 1, 2, 68, 3, 115, 141, 154, 6, 44, 8, 9, 10, 50, 45, 46, 47, 48, 78, 37, 137, 38, 45, 46, 47, 48, 138, 40, 49, 41, 50, 97, 1, 2, 35, 3, 22, 50, 51, 6, 44, 8, 9, 10, 160, 45, 46, 47, 48, 79, 106, 80, 81, 82, 167, 168, 110, 83, 101, 49, 118, 84, 119, 1, 2, 50, 3, 112, 50, 108, 6, 7, 8, 9, 10, 121, 45, 46, 47, 48, 126, 131, 45, 46, 47, 48, 83, 141, 148, 79, 49, 80, 81, 82, 135, 166, 22, 83, 181, 184, 71, 84, 167, 29, 186, 50, 85, 45, 46, 47, 48, 161, 163, 159, 79, 125, 80, 81, 82, 132, 150, 22, 83, 162, 100, 179, 84, 0, 0, 109, 50, 124, 45, 46, 47, 48, 127, 128, 129, 130, 0, 0, 0, 0, 0, 0, 22, 83, 0, 1, 2, 149, 3, 0, 4, 5, 6, 7, 8, 9, 10, 1, 2, 0, 3, 0, 0, 5, 6, 7, 8, 9, 10, 1, 2, 0, 3, 0, 0, 0, 6, 7, 8, 9, 10};static const yytype_int16 yycheck[] ={ 28, 4, 5, 81, 86, 121, 28, 41, 118, 119, 3, 4, 5, 6, 28, 19, 42, 127, 128, 129, 130, 12, 44, 12, 28, 17, 30, 55, 32, 3, 4, 5, 6, 115, 41, 46, 86, 40, 66, 50, 62, 75, 49, 153, 66, 3, 4, 5, 6, 99, 78, 167, 66, 51, 46, 171, 166, 50, 15, 141, 17, 39, 66, 67, 55, 43, 55, 3, 4, 5, 6, 42, 29, 43, 0, 43, 50, 48, 100, 47, 50, 103, 28, 29, 30, 31, 164, 165, 28, 29, 30, 31, 50, 71, 46, 17, 42, 45, 50, 47, 178, 42, 42, 181, 50, 42, 184, 29, 136, 112, 132, 47, 15, 16, 42, 18, 144, 46, 47, 22, 23, 24, 25, 26, 51, 28, 29, 30, 31, 49, 45, 41, 47, 28, 29, 30, 31, 47, 17, 42, 19, 51, 41, 15, 16, 45, 18, 42, 51, 52, 22, 23, 24, 25, 26, 50, 28, 29, 30, 31, 35, 47, 37, 38, 39, 46, 47, 47, 43, 42, 42, 49, 47, 49, 15, 16, 51, 18, 46, 51, 52, 22, 23, 24, 25, 26, 49, 28, 29, 30, 31, 47, 41, 28, 29, 30, 31, 43, 46, 37, 35, 42, 37, 38, 39, 41, 49, 42, 43, 36, 50, 39, 47, 46, 15, 47, 51, 52, 28, 29, 30, 31, 136, 144, 132, 35, 88, 37, 38, 39, 99, 121, 42, 43, 141, 55, 171, 47, -1, -1, 66, 51, 52, 28, 29, 30, 31, 3, 4, 5, 6, -1, -1, -1, -1, -1, -1, 42, 43, -1, 15, 16, 47, 18, -1, 20, 21, 22, 23, 24, 25, 26, 15, 16, -1, 18, -1, -1, 21, 22, 23, 24, 25, 26, 15, 16, -1, 18, -1, -1, -1, 22, 23, 24, 25, 26};/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */static const yytype_uint8 yystos[] ={ 0, 15, 16, 18, 20, 21, 22, 23, 24, 25, 26, 58, 59, 60, 63, 64, 65, 66, 96, 98, 100, 101, 42, 55, 55, 58, 60, 42, 51, 66, 98, 65, 98, 96, 0, 45, 47, 45, 47, 42, 17, 19, 61, 62, 23, 28, 29, 30, 31, 42, 51, 52, 54, 55, 56, 59, 68, 73, 75, 81, 92, 93, 94, 95, 96, 97, 99, 98, 42, 48, 61, 62, 55, 57, 56, 46, 61, 75, 49, 35, 37, 38, 39, 43, 47, 52, 68, 75, 76, 77, 80, 82, 83, 84, 86, 87, 88, 41, 67, 68, 94, 42, 69, 72, 78, 79, 47, 75, 52, 97, 47, 61, 46, 56, 50, 68, 70, 71, 49, 49, 82, 49, 69, 79, 52, 77, 47, 3, 4, 5, 6, 41, 72, 79, 75, 41, 49, 41, 47, 74, 75, 46, 55, 69, 46, 50, 88, 88, 37, 47, 80, 84, 85, 89, 47, 88, 88, 88, 88, 74, 50, 71, 78, 70, 50, 50, 49, 46, 47, 47, 88, 90, 50, 82, 82, 88, 84, 47, 50, 85, 91, 36, 50, 82, 50, 82, 47, 82};#define yyerrok (yyerrstatus = 0)#define yyclearin (yychar = YYEMPTY)#define YYEMPTY (-2)#define YYEOF 0#define YYACCEPT goto yyacceptlab#define YYABORT goto yyabortlab#define YYERROR goto yyerrorlab/* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */#define YYFAIL goto yyerrlab#define YYRECOVERING() (!!yyerrstatus)#define YYBACKUP(Token, Value) \do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK (1); \ goto yybackup; \ } \ else \ { \ yyerror (YY_("syntax error: cannot back up")); \ YYERROR; \ } \while (YYID (0))#define YYTERROR 1#define YYERRCODE 256/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined). */#define YYRHSLOC(Rhs, K) ((Rhs)[K])#ifndef YYLLOC_DEFAULT# define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ if (YYID (N)) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (YYID (0))#endif/* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */#ifndef YY_LOCATION_PRINT# if YYLTYPE_IS_TRIVIAL# define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ (Loc).last_line, (Loc).last_column)# else# define YY_LOCATION_PRINT(File, Loc) ((void) 0)# endif#endif/* YYLEX -- calling `yylex' with the right arguments. */#ifdef YYLEX_PARAM# define YYLEX yylex (YYLEX_PARAM)#else# define YYLEX yylex ()#endif/* Enable debugging if requested. */#if YYDEBUG# ifndef YYFPRINTF# include <stdio.h> /* INFRINGES ON USER NAME SPACE */# define YYFPRINTF fprintf# endif# define YYDPRINTF(Args) \do { \ if (yydebug) \ YYFPRINTF Args; \} while (YYID (0))# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value); \ YYFPRINTF (stderr, "\n"); \ } \} while (YYID (0))/*--------------------------------.| Print this symbol on YYOUTPUT. |`--------------------------------*//*ARGSUSED*/#if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER)static voidyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)#elsestatic voidyy_symbol_value_print (yyoutput, yytype, yyvaluep) FILE *yyoutput; int yytype;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -