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