⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ecma.tab.c

📁 sswf-1.7.4-src.zip 源码
💻 C
📖 第 1 页 / 共 5 页
字号:
/* A Bison parser, made from ecma.y   by GNU bison 1.35.  */#define YYBISON 1  /* Identify Bison output.  */# define	ASSIGNMENT_OPERATOR	257# define	BREAK	258# define	CASE	259# define	CATCH	260# define	CONTINUE	261# define	DECREMENT	262# define	DEFAULT	263# define	DELETE	264# define	DO	265# define	ELSE	266# define	EQUAL	267# define	EXACTLY_EQUAL	268# define	EXACTLY_NOT_EQUAL	269# define	FALSE	270# define	FINALLY	271# define	FOR	272# define	FUNCTION	273# define	GREATER_EQUAL	274# define	IDENTIFIER	275# define	IF	276# define	IN	277# define	INCREMENT	278# define	INSTANCEOF	279# define	LESS_EQUAL	280# define	LOGICAL_AND	281# define	LOGICAL_OR	282# define	NEW	283# define	NOT_EQUAL	284# define	NULL_LITERAL	285# define	NUMERIC	286# define	RETURN	287# define	SHIFT_LEFT	288# define	SHIFT_RIGHT	289# define	SHIFT_RIGHT_UNSIGNED	290# define	STRING	291# define	SWITCH	292# define	THIS	293# define	THROW	294# define	TRY	295# define	TRUE	296# define	TYPEOF	297# define	VAR	298# define	VOID	299# define	WITH	300# define	WHILE	301#line 1 "ecma.y"	/* ecma.y -- written by Alexis WILKE for Made to Order Software, Ltd. (c) 2004-2005 */	/* grammar parser for Action Scripts *//*Copyright (c) 2004-2005 Made to Order Software, Ltd.Permission is hereby granted, free of charge, to anyperson obtaining a copy of this software andassociated documentation files (the "Software"), todeal in the Software without restriction, includingwithout limitation the rights to use, copy, modify,merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whomthe Software is furnished to do so, subject to thefollowing conditions:The above copyright notice and this permission noticeshall be included in all copies or substantialportions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OFANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOTLIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESSFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NOEVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BELIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,ARISING FROM, OUT OF OR IN CONNECTION WITH THESOFTWARE OR THE USE OR OTHER DEALINGS IN THESOFTWARE.*/#include	"sswf.h"#define	YYPARSE_PARAM		resultstatic	void			yyerror(const char *msg);#line 47 "ecma.y"#ifndef YYSTYPEtypedef union{	struct node_t		*node;	int			unused;} yystype;# define YYSTYPE yystype# define YYSTYPE_IS_TRIVIAL 1#endif#ifndef YYDEBUG# define YYDEBUG 0#endif#define	YYFINAL		377#define	YYFLAG		-32768#define	YYNTBASE	72/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */#define YYTRANSLATE(x) ((unsigned)(x) <= 301 ? yytranslate[x] : 148)/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */static const char yytranslate[] ={       0,     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,    62,     2,     2,     2,    65,    68,     2,      48,    49,    63,    59,    52,    60,    58,    64,     2,     2,       2,     2,     2,     2,     2,     2,     2,     2,    55,    53,      66,    54,    67,    71,     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,    56,     2,    57,    69,     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,    50,    70,    51,    61,     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,     2,     2,     2,     2,     2,     2,     2,       2,     2,     2,     2,     2,     2,     1,     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};#if YYDEBUGstatic const short yyprhs[] ={       0,     0,     2,     4,     6,     9,    11,    13,    22,    30,      32,    40,    47,    49,    53,    55,    57,    59,    61,    63,      65,    67,    69,    71,    73,    75,    77,    79,    81,    83,      86,    90,    92,    95,    99,   101,   105,   107,   111,   113,     116,   118,   121,   124,   127,   129,   132,   140,   146,   154,     160,   170,   181,   189,   198,   200,   203,   205,   208,   210,     213,   219,   225,   228,   232,   234,   237,   241,   246,   249,     253,   257,   260,   264,   268,   273,   279,   282,   284,   286,     288,   290,   292,   296,   298,   300,   302,   304,   306,   309,     313,   317,   322,   324,   327,   331,   333,   336,   339,   343,     345,   349,   353,   355,   357,   359,   361,   363,   368,   372,     376,   378,   381,   384,   387,   392,   396,   399,   403,   405,     409,   411,   413,   415,   418,   421,   423,   426,   429,   432,     435,   438,   441,   444,   447,   450,   452,   456,   460,   464,     466,   470,   474,   476,   480,   484,   488,   490,   494,   498,     502,   506,   510,   514,   516,   520,   524,   528,   532,   536,     538,   542,   546,   550,   554,   556,   560,   564,   568,   572,     574,   578,   580,   584,   586,   590,   592,   596,   598,   602,     604,   608,   610,   614,   616,   620,   622,   626,   628,   632,     634,   640,   642,   648,   650,   654,   656,   660,   662,   666,     668,   672,   673};static const short yyrhs[] ={      73,     0,    74,     0,    75,     0,    74,    75,     0,    80,       0,    76,     0,    19,    21,    48,    78,    49,    50,    79,      51,     0,    19,    21,    48,    49,    50,    79,    51,     0,      76,     0,    19,    48,    78,    49,    50,    79,    51,     0,      19,    48,    49,    50,    79,    51,     0,    21,     0,    78,      52,    21,     0,    74,     0,    81,     0,    83,     0,    90,       0,    91,     0,    92,     0,    93,     0,    94,     0,    95,       0,    96,     0,    97,     0,   102,     0,    98,     0,   103,       0,   104,     0,    50,    51,     0,    50,    82,    51,     0,      80,     0,    82,    80,     0,    44,    84,    53,     0,    86,       0,    84,    52,    86,     0,    87,     0,    85,    52,    87,       0,    21,     0,    21,    88,     0,    21,     0,    21,    89,       0,    54,   143,     0,    54,   144,     0,    53,     0,   145,      53,     0,    22,    48,   145,    49,    80,    12,    80,     0,      22,    48,   145,    49,    80,     0,    11,    80,    47,    48,     145,    49,    53,     0,    47,    48,   145,    49,    80,     0,      18,    48,   147,    53,   147,    53,   147,    49,    80,     0,      18,    48,    44,    85,    53,   147,    53,   147,    49,    80,       0,    18,    48,   121,    23,   145,    49,    80,     0,    18,      48,    44,    85,    23,   145,    49,    80,     0,     7,     0,       7,    21,     0,     4,     0,     4,    21,     0,    33,     0,      33,   145,     0,    46,    48,   145,    49,    80,     0,    38,      48,   145,    49,    99,     0,    50,    51,     0,    50,   100,      51,     0,   101,     0,   100,   101,     0,     5,   145,    55,       0,     5,   145,    55,    82,     0,     9,    55,     0,     9,      55,    82,     0,    21,    55,    80,     0,    40,   145,     0,      41,    81,   105,     0,    41,    81,   106,     0,    41,    81,     105,   106,     0,     6,    48,    21,    51,    81,     0,    17,      81,     0,    39,     0,    21,     0,   108,     0,   109,     0,     112,     0,    48,   145,    49,     0,    31,     0,    42,     0,      16,     0,    32,     0,    37,     0,    56,    57,     0,    56,     111,    57,     0,    56,   110,    57,     0,    56,   110,   111,      57,     0,   143,     0,   111,   143,     0,   110,   111,   143,       0,    52,     0,   111,    52,     0,    50,    51,     0,    50,     113,    51,     0,   114,     0,   113,    52,   114,     0,   115,      55,   143,     0,    21,     0,    37,     0,    32,     0,   107,       0,    77,     0,   116,    56,   145,    57,     0,   116,    58,      21,     0,    29,   116,   119,     0,   116,     0,    29,   117,       0,   116,   119,     0,   118,   119,     0,   118,    56,   145,      57,     0,   118,    58,    21,     0,    48,    49,     0,    48,     120,    49,     0,   143,     0,   120,    52,   143,     0,   117,       0,   118,     0,   121,     0,   121,    24,     0,   121,     8,       0,   122,     0,    10,   123,     0,    45,   123,     0,    43,     123,     0,    24,   123,     0,     8,   123,     0,    59,   123,       0,    60,   123,     0,    61,   123,     0,    62,   123,     0,     123,     0,   124,    63,   123,     0,   124,    64,   123,     0,     124,    65,   123,     0,   124,     0,   125,    59,   124,     0,     125,    60,   124,     0,   125,     0,   126,    34,   125,     0,     126,    35,   125,     0,   126,    36,   125,     0,   126,     0,     127,    66,   126,     0,   127,    67,   126,     0,   127,    26,     126,     0,   127,    20,   126,     0,   127,    25,   126,     0,     127,    23,   126,     0,   126,     0,   128,    66,   126,     0,     128,    67,   126,     0,   128,    26,   126,     0,   128,    20,     126,     0,   128,    25,   126,     0,   127,     0,   129,    13,     127,     0,   129,    30,   127,     0,   129,    14,   127,     0,     129,    15,   127,     0,   128,     0,   130,    13,   128,     0,     130,    30,   128,     0,   130,    14,   128,     0,   130,    15,     128,     0,   129,     0,   131,    68,   129,     0,   130,     0,     132,    68,   130,     0,   131,     0,   133,    69,   131,     0,     132,     0,   134,    69,   132,     0,   133,     0,   135,    70,     133,     0,   134,     0,   136,    70,   134,     0,   135,     0,     137,    27,   135,     0,   136,     0,   138,    27,   136,     0,     137,     0,   139,    28,   137,     0,   138,     0,   140,    28,     138,     0,   139,     0,   139,    71,   143,    55,   143,     0,     140,     0,   140,    71,   143,    55,   144,     0,   141,     0,     121,     3,   143,     0,   142,     0,   121,     3,   144,     0,     143,     0,   145,    52,   143,     0,   144,     0,   146,    52,     144,     0,     0,   146,     0};#endif#if YYDEBUG/* YYRLINE[YYN] -- source line where rule number YYN was defined. */static const short yyrline[] ={       0,   151,   157,   163,   167,   172,   176,   182,   186,   191,     195,   198,   203,   207,   212,   223,   227,   230,   233,   236,     239,   242,   245,   248,   251,   254,   257,   260,   263,   269,     273,   279,   283,   289,   295,   299,   305,   309,   315,   319,     325,   329,   335,   342,   350,   356,   364,   368,   374,   378,     381,   384,   387,   390,   397,   401,   407,   411,   417,   421,     430,   437,   444,   448,   454,   458,   465,   469,   472,   475,     482,   490,   497,   501,   504,   510,   517,   526,   530,   533,     536,   539,   542,   549,   553,   556,   559,   562,   569,   573,     576,   579,   585,   589,   592,   598,   602,   608,   612,   618,     622,   627,   634,   638,   641,   648,   652,   655,   658,   661,     667,   671,   677,   681,   684,   687,   693,   697,   704,   708,     715,   719,   725,   729,   732,   739,   743,   746,   749,   752,     755,   758,   761,   764,   767,   773,   777,   780,   783,   790,     794,   797,   804,   808,   811,   814,   820,   824,   827,   830,     833,   836,   839,   846,   850,   853,   856,   859,   862,   868,     872,   875,   878,   881,   889,   893,   896,   899,   902,   909,     913,   918,   922,   928,   932,   937,   941,   947,   951,   956,     960,   968,   972,   977,   981,   989,   993,   998,  1002,  1008,    1012,  1018,  1022,  1029,  1033,  1038,  1042,  1049,  1053,  1058,    1062,  1068,  1072};#endif#if (YYDEBUG) || defined YYERROR_VERBOSE/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */static const char *const yytname[] ={  "$", "error", "$undefined.", "ASSIGNMENT_OPERATOR", "BREAK", "CASE",   "CATCH", "CONTINUE", "DECREMENT", "DEFAULT", "DELETE", "DO", "ELSE",   "EQUAL", "EXACTLY_EQUAL", "EXACTLY_NOT_EQUAL", "FALSE", "FINALLY",   "FOR", "FUNCTION", "GREATER_EQUAL", "IDENTIFIER", "IF", "IN",   "INCREMENT", "INSTANCEOF", "LESS_EQUAL", "LOGICAL_AND", "LOGICAL_OR",   "NEW", "NOT_EQUAL", "NULL_LITERAL", "NUMERIC", "RETURN", "SHIFT_LEFT",   "SHIFT_RIGHT", "SHIFT_RIGHT_UNSIGNED", "STRING", "SWITCH", "THIS",   "THROW", "TRY", "TRUE", "TYPEOF", "VAR", "VOID", "WITH", "WHILE", "'('",   "')'", "'{'", "'}'", "','", "';'", "'='", "':'", "'['", "']'", "'.'",   "'+'", "'-'", "'~'", "'!'", "'*'", "'/'", "'%'", "'<'", "'>'", "'&'",   "'^'", "'|'", "'?'", "start", "program", "source_element_list",   "source_element", "function_declaration", "function_expression",   "formal_parameter_list", "function_body", "statement", "block",   "statement_list", "variable_statement", "variable_declaration_list",   "variable_declaration_list_no_in", "variable_declaration",   "variable_declaration_no_in", "initializer", "initializer_no_in",   "empty_statement", "expression_statement", "if_statement",   "iteration_statement", "continue_statement", "break_statement",   "return_statement", "with_statement", "switch_statement", "case_block",   "case_clause_list", "case_clause", "labelled_statement",   "throw_statement", "try_statement", "catch", "finally",   "primary_expression", "literal", "array_literal", "element_list",   "elision", "object_literal", "property_name_and_value_list", "property",   "property_name", "member_expression", "new_expression",   "call_expression", "arguments", "argument_list",   "left_hand_side_expression", "postfix_expression", "unary_expression",   "multiplicative_expression", "additive_expression", "shift_expression",   "relational_expression", "relational_expression_no_in",   "equality_expression", "equality_expression_no_in",   "bitwise_and_expression", "bitwise_and_expression_no_in",   "bitwise_xor_expression", "bitwise_xor_expression_no_in",   "bitwise_or_expression", "bitwise_or_expression_no_in",   "logical_and_expression", "logical_and_expression_no_in",   "logical_or_expression", "logical_or_expression_no_in",   "conditional_expression", "conditional_expression_no_in",   "assignment_expression", "assignment_expression_no_in", "expression",   "expression_no_in", "expression_no_in_opt", 0};#endif/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */static const short yyr1[] ={       0,    72,    73,    74,    74,    75,    75,    76,    76,    77,      77,    77,    78,    78,    79,    80,    80,    80,    80,    80,      80,    80,    80,    80,    80,    80,    80,    80,    80,    81,      81,    82,    82,    83,    84,    84,    85,    85,    86,    86,      87,    87,    88,    89,    90,    91,    92,    92,    93,    93,      93,    93,    93,    93,    94,    94,    95,    95,    96,    96,      97,    98,    99,    99,   100,   100,   101,   101,   101,   101,     102,   103,   104,   104,   104,   105,   106,   107,   107,   107,     107,   107,   107,   108,   108,   108,   108,   108,   109,   109,     109,   109,   110,   110,   110,   111,   111,   112,   112,   113,     113,   114,   115,   115,   115,   116,   116,   116,   116,   116,     117,   117,   118,   118,   118,   118,   119,   119,   120,   120,     121,   121,   122,   122,   122,   123,   123,   123,   123,   123,     123,   123,   123,   123,   123,   124,   124,   124,   124,   125,     125,   125,   126,   126,   126,   126,   127,   127,   127,   127,     127,   127,   127,   128,   128,   128,   128,   128,   128,   129,     129,   129,   129,   129,   130,   130,   130,   130,   130,   131,     131,   132,   132,   133,   133,   134,   134,   135,   135,   136,     136,   137,   137,   138,   138,   139,   139,   140,   140,   141,     141,   142,   142,   143,   143,   144,   144,   145,   145,   146,     146,   147,   147};/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */static const short yyr2[] ={       0,     1,     1,     1,     2,     1,     1,     8,     7,     1,       7,     6,     1,     3,     1,     1,     1,     1,     1,     1,       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,       3,     1,     2,     3,     1,     3,     1,     3,     1,     2,       1,     2,     2,     2,     1,     2,     7,     5,     7,     5,       9,    10,     7,     8,     1,     2,     1,     2,     1,     2,       5,     5,     2,     3,     1,     2,     3,     4,     2,     3,       3,     2,     3,     3,     4,     5,     2,     1,     1,     1,       1,     1,     3,     1,     1,     1,     1,     1,     2,     3,       3,     4,     1,     2,     3,     1,     2,     2,     3,     1,       3,     3,     1,     1,     1,     1,     1,     4,     3,     3,       1,     2,     2,     2,     4,     3,     2,     3,     1,     3,       1,     1,     1,     2,     2,     1,     2,     2,     2,     2,       2,     2,     2,     2,     2,     1,     3,     3,     3,     1,       3,     3,     1,     3,     3,     3,     1,     3,     3,     3,       3,     3,     3,     1,     3,     3,     3,     3,     3,     1,       3,     3,     3,     3,     1,     3,     3,     3,     3,     1,       3,     1,     3,     1,     3,     1,     3,     1,     3,     1,       3,     1,     3,     1,     3,     1,     3,     1,     3,     1,       5,     1,     5,     1,     3,     1,     3,     1,     3,     1,       3,     0,     1};/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE   doesn't specify something else to do.  Zero means the default is an   error. */static const short yydefact[] ={       0,    56,    54,     0,     0,     0,    85,     0,     0,    78,       0,     0,     0,    83,    86,    58,    87,     0,    77,     0,       0,    84,     0,     0,     0,     0,     0,     0,     0,    44,       0,     0,     0,     0,     0,     1,     2,     3,     6,   106,       5,    15,    16,    17,    18,    19,    20,    21,    22,    23,      24,    26,    25,    27,    28,   105,    79,    80,    81,   110,     120,   121,   122,   125,   135,   139,   142,   146,   159,   169,     173,   177,   181,   185,   189,   193,   197,     0,    57,    55,      78,     0,     9,   122,   130,   126,     0,   201,     0,     0,       0,     0,   129,   110,   111,    59,     0,    71,     0,     0,     128,    38,     0,    34,   127,     0,     0,     0,    78,    86,      87,    29,    31,     0,     0,    99,     0,    95,    88,     0,       0,    92,   131,   132,   133,   134,     4,     0,     0,     0,     112,     0,     0,   113,     0,   124,   123,     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,    45,   102,   104,   103,    97,     0,     0,   122,     153,   164,   171,   175,   179,   183,   187,   191,   195,   199,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -