php_parser.c
来自「wxWidgets写的电驴」· C语言 代码 · 共 1,265 行 · 第 1/5 页
C
1,265 行
82, 85, 89, 93, 99, 107, 117, 128, 134, 142, 144, 148, 154, 156, 160, 162, 166, 168, 172, 174, 176, 180, 182, 186, 187, 197, 207, 210, 214, 219, 225, 226, 227, 229, 231, 236, 238, 243, 245, 246, 253, 254, 255, 258, 260, 265, 269, 274, 279, 285, 286, 291, 294, 296, 298, 300, 302, 304, 306, 308, 310, 314, 318, 320, 324, 329, 334, 339, 344, 351, 358, 360, 363, 367, 372, 373, 380, 382, 386, 388, 393, 397, 401, 405, 409, 413, 417, 421, 425, 429, 433, 437, 440, 443, 446, 449, 453, 457, 461, 465, 469, 473, 477, 481, 485, 489, 493, 497, 501, 505, 509, 513, 516, 519, 522, 525, 529, 533, 537, 541, 545, 549, 553, 557, 561, 567, 570, 573, 576, 579, 582, 585, 588, 590, 595, 598, 602, 605, 606, 608, 612, 614, 619, 620, 622, 626, 628, 632, 637};/* YYRHS -- A `-1'-separated list of the rules' RHS. */static const short int yyrhs[] ={ 118, 0, -1, 108, 119, 109, -1, 119, 120, -1, -1, 121, -1, 129, -1, 110, 119, 111, -1, 148, 112, -1, 22, 125, 112, -1, 107, 127, 112, -1, 10, 113, 148, 114, 121, 136, 137, -1, 12, 113, 148, 114, 138, -1, 11, 121, 12, 113, 148, 114, 112, -1, 14, 113, 135, 112, 135, 112, 135, 114, 133, -1, 26, 113, 148, 114, 139, -1, 31, 112, -1, 31, 148, 112, -1, 30, 112, -1, 30, 148, 112, -1, 33, 112, -1, 33, 148, 112, -1, 8, 123, 112, -1, 23, 113, 124, 114, 112, -1, 16, 113, 148, 20, 144, 114, 134, -1, 16, 113, 148, 20, 144, 39, 144, 114, 134, -1, 16, 113, 148, 20, 144, 39, 66, 144, 114, 134, -1, 18, 113, 122, 114, 121, -1, 18, 113, 122, 114, 58, 119, 19, -1, 112, -1, 6, 45, 143, -1, 122, 43, 6, 45, 143, -1, 148, -1, 123, 43, 148, -1, 144, -1, 124, 43, 144, -1, 126, -1, 125, 43, 126, -1, 7, -1, 128, -1, 127, 43, 128, -1, 7, -1, 7, 45, 143, -1, -1, 32, 6, 130, 113, 131, 114, 110, 119, 111, -1, 32, 66, 6, 113, 131, 114, 110, 119, 111, -1, 132, 7, -1, 132, 66, 7, -1, 131, 43, 132, 7, -1, 131, 43, 132, 66, 7, -1, -1, -1, 6, -1, 121, -1, 58, 119, 15, 112, -1, 121, -1, 58, 119, 17, 112, -1, 123, -1, -1, 136, 99, 113, 148, 114, 121, -1, -1, -1, 100, 121, -1, 121, -1, 58, 119, 13, 112, -1, 110, 140, 111, -1, 110, 112, 140, 111, -1, 58, 140, 27, 112, -1, 58, 112, 140, 27, 112, -1, -1, 140, 141, 142, 119, -1, 28, 148, -1, 29, -1, 58, -1, 112, -1, 3, -1, 4, -1, 5, -1, 6, -1, 145, -1, 6, 42, 6, -1, 145, 38, 6, -1, 7, -1, 145, 96, 115, -1, 145, 96, 148, 115, -1, 145, 110, 148, 111, -1, 116, 110, 148, 111, -1, 6, 113, 147, 114, -1, 145, 42, 6, 113, 147, 114, -1, 145, 38, 6, 113, 147, 114, -1, 148, -1, 66, 144, -1, 147, 43, 148, -1, 147, 43, 66, 144, -1, -1, 40, 113, 150, 114, 45, 148, -1, 144, -1, 144, 45, 148, -1, 146, -1, 144, 45, 66, 144, -1, 144, 56, 148, -1, 144, 55, 148, -1, 144, 54, 148, -1, 144, 53, 148, -1, 144, 52, 148, -1, 144, 51, 148, -1, 144, 50, 148, -1, 144, 49, 148, -1, 144, 48, 148, -1, 144, 47, 148, -1, 144, 46, 148, -1, 144, 95, -1, 95, 144, -1, 144, 94, -1, 94, 144, -1, 148, 62, 148, -1, 148, 63, 148, -1, 148, 59, 148, -1, 148, 61, 148, -1, 148, 60, 148, -1, 148, 64, 148, -1, 148, 66, 148, -1, 148, 65, 148, -1, 148, 79, 148, -1, 148, 77, 148, -1, 148, 78, 148, -1, 148, 80, 148, -1, 148, 81, 148, -1, 148, 82, 148, -1, 148, 76, 148, -1, 148, 75, 148, -1, 77, 148, -1, 78, 148, -1, 83, 148, -1, 85, 148, -1, 148, 68, 148, -1, 148, 67, 148, -1, 148, 70, 148, -1, 148, 69, 148, -1, 148, 71, 148, -1, 148, 74, 148, -1, 148, 72, 148, -1, 148, 73, 148, -1, 113, 148, 114, -1, 148, 57, 148, 58, 148, -1, 93, 148, -1, 92, 148, -1, 91, 148, -1, 88, 148, -1, 87, 148, -1, 9, 149, -1, 86, 148, -1, 143, -1, 41, 113, 152, 114, -1, 44, 148, -1, 113, 148, 114, -1, 113, 114, -1, -1, 151, -1, 150, 43, 151, -1, 144, -1, 40, 113, 150, 114, -1, -1, 153, -1, 152, 43, 153, -1, 148, -1, 148, 39, 148, -1, 148, 39, 66, 144, -1, 66, 144, -1};/* YYRLINE[YYN] -- source line where rule number YYN was defined. */static const unsigned short int yyrline[] ={ 0, 142, 142, 146, 147, 152, 153, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 178, 181, 184, 185, 186, 189, 190, 193, 194, 203, 204, 210, 211, 215, 230, 231, 234, 235, 243, 243, 254, 258, 259, 260, 261, 262, 266, 267, 271, 272, 276, 277, 280, 281, 285, 286, 290, 291, 294, 295, 299, 300, 301, 302, 306, 307, 322, 323, 326, 327, 331, 332, 333, 334, 337, 338, 339, 343, 344, 345, 346, 347, 351, 352, 353, 356, 357, 358, 359, 360, 365, 366, 367, 368, 369, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 386, 387, 388, 389, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 427, 428, 429, 431, 432, 433, 436, 437, 438, 441, 442, 446, 447, 448, 451, 452, 461, 462, 463, 464};#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", "FNUMBER", "DNUMBER", "STRING", "IDENT", "VARIABLE", "ECHO", "EXIT", "IF", "DO", "WHILE", "ENDWHILE", "FOR", "ENDFOR", "FOREACH", "ENDFOREACH", "DECLARE", "ENDDECLARE", "AS", "CONST", "GLOBAL", "UNSET", "ISSET", "EMPTY", "SWITCH", "ENDSWITCH", "CASE", "DEFAULT", "BREAK", "CONTINUE", "FUNCTION", "RETURN", "CLASS", "INTERFACE", "EXTENDS", "IMPLEMENTS", "OBJECT_OPERATOR", "HASH_ASSIGN", "LIST", "ARRAY", "CLASS_SCOPE", "','", "PRINT", "'='", "SR_EQ", "SL_EQ", "XOR_EQ", "OR_EQ", "AND_EQ", "MOD_EQ", "CONCAT_EQ", "DIV_EQ", "MUL_EQ", "MINUS_EQ", "PLUS_EQ", "'?'", "':'", "LOG_OR", "LOG_XOR", "LOG_AND", "BOOLEAN_OR", "BOOLEAN_AND", "'|'", "'^'", "'&'", "IS_NOIDENTICAL", "IS_IDENTICAL", "IS_NOEQUAL", "IS_EQ", "'<'", "'>'", "IS_GREATER_OR_EQ", "IS_SMALLER_OR_EQ", "SR", "SL", "'+'", "'-'", "'.'", "'*'", "'/'", "'%'", "'!'", "INSTANCEOF", "'~'", "'@'", "UNSET_CAST", "BOOL_CAST", "OBJECT_CAST", "ARRAY_CAST", "STRING_CAST", "DOUBLE_CAST", "INT_CAST", "DEC", "INC", "'['", "CLONE", "NEW", "ELSEIF", "ELSE", "ENDIF", "PUBLIC", "PROTECTED", "PRIVATE", "FINAL", "ABSTRACT", "STATIC", "START_SCRIPT", "END_SCRIPT", "'{'", "'}'", "';'", "'('", "')'", "']'", "'$'", "$accept", "program_tree", "top_statement_list", "top_statement", "statement", "decl_list", "expr_list", "variable_list", "global_var_list", "global_var", "static_var_list", "static_var", "function_decl_statement", "@1", "parameter_list", "optional_class_type", "for_statement", "foreach_statement", "for_expr", "elseif_list", "else_statement", "while_statement", "switch_case_list", "case_list", "case_list_item", "case_separator", "const_value", "variable", "deref_variable", "function_call", "func_param_list", "expr", "exit_expr", "assignment_list", "assignment_list_element", "array_pair_list", "array_elem", 0};#endif# ifdef YYPRINT/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */static const unsigned short int 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, 44, 298, 61, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 63, 58, 310, 311, 312, 313, 314, 124, 94, 38, 315, 316, 317, 318, 60, 62, 319, 320, 321, 322, 43, 45, 46, 42, 47, 37, 33, 323, 126, 64, 324, 325, 326, 327, 328, 329, 330, 331, 332, 91, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 123, 125, 59, 40, 41, 93, 36};# endif/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */static const unsigned char yyr1[] ={ 0, 117, 118, 119, 119, 120, 120, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 123, 123, 124, 124, 125, 125, 126, 127, 127, 128, 128, 130, 129, 129, 131, 131, 131, 131, 131, 132, 132, 133, 133, 134, 134, 135, 135, 136, 136, 137, 137, 138, 138, 139, 139, 139, 139, 140, 140, 141, 141, 142, 142, 143, 143, 143, 143, 144, 144, 144, 145, 145, 145, 145, 145, 146, 146, 146, 147, 147, 147, 147, 147, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 149, 149, 149, 150, 150, 151, 151, 151, 152, 152, 153, 153, 153, 153};/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */static const unsigned char yyr2[] ={ 0, 2, 3, 2, 0, 1, 1, 3, 2, 3, 3, 7, 5, 7, 9, 5, 2, 3, 2, 3, 2, 3, 3, 5, 7, 9, 10, 5, 7, 1, 3, 5, 1, 3, 1, 3, 1, 3, 1, 1, 3, 1, 3, 0, 9, 9, 2, 3, 4, 5, 0, 0, 1, 1, 4, 1, 4, 1, 0, 6, 0, 0, 2, 1, 4, 3, 4, 4, 5, 0, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 3, 4, 4, 4, 4, 6, 6, 1, 2, 3, 4, 0, 6, 1, 3, 1, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 2, 2, 2, 2, 2, 2, 2, 1, 4, 2, 3, 2, 0, 1, 3, 1, 4, 0, 1, 3, 1, 3, 4, 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, 4, 0, 0, 1, 75, 76, 77, 78, 82, 0, 157, 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, 2, 4, 29, 0, 0, 3, 5, 6, 152, 96, 79, 98, 0, 0, 94, 0, 32, 0, 150, 0, 0, 0, 58, 0, 0, 38, 0, 36, 0, 0, 18, 0, 16, 0, 43, 0, 20, 0, 162, 0, 154, 131, 132, 133, 134, 151, 149, 148, 147, 146, 145, 0, 114, 79, 112, 41, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 111, 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, 8, 80, 0, 0, 90, 0, 22, 156, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 9, 0, 34, 0, 19, 17, 0, 0, 21, 0, 160, 0, 158, 0, 165, 0, 163, 0, 0, 0, 10, 7, 143, 0, 0, 97, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 81, 0, 83, 0, 0, 0, 117, 119, 118, 115, 116, 120, 122, 121, 136, 135, 138, 137, 139, 141, 142, 140, 130, 129, 124, 125, 123, 126, 127, 128, 91, 0, 87, 33, 155, 0, 0, 0, 58, 0, 0, 0, 0, 37, 0, 0, 0, 50, 50, 162, 162, 0, 168, 0, 0, 153, 81, 78, 42, 40, 86, 99, 94, 94, 84, 85, 0, 0, 92, 60, 0, 4, 63, 12, 0, 0, 30, 0, 4, 27, 35, 23, 69, 69, 15, 52, 0, 0, 0, 0, 159, 0, 0, 166, 164, 0, 0, 144, 93, 61, 0, 0, 58, 0, 0, 0, 0, 69, 0, 69, 0, 51, 0, 46, 0, 0, 161, 95, 167, 89, 88, 0, 0, 11, 13, 0, 0, 0, 0, 4, 55, 24, 31, 28, 0, 0, 0, 72, 0, 0, 65, 0, 4, 47, 4, 0, 62, 64, 0, 0, 0, 0, 0, 67, 71, 73, 74, 4, 66, 48, 0, 0, 0, 0, 4, 53, 14, 0, 25, 0, 68, 70, 49, 44, 45, 0, 0, 26, 56, 59, 0, 54};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?