first-asc.y

来自「sswf-1.7.4-src.zip 源码」· Y 代码 · 共 1,725 行 · 第 1/2 页

Y
1,725
字号
*/simple_qualified_identifier:	  IDENTIFIER	  {	  }	| IDENTIFIER SCOPE IDENTIFIER	  {	  }	| reserved_namespace SCOPE IDENTIFIER	;expression_qualified_identifier:	  parenthesis_expression SCOPE IDENTIFIER	  {	  }	;qualified_identifier:	  simple_qualified_identifier	  {	  }	| expression_qualified_identifier	  {	  }	;primary_expression:	  THIS	  {	  }	| literal	  {	  }	| array_literal	  {	  }	| object_literal	  {	  }	| list_parenthesis_expression	  {	  }	| reserved_namespace	  {	  }	;literal:	  NULL_LITERAL	  {	  }	| UNDEFINED	  {	  }	| boolean_literal	  {	  }	| NUMERIC	  {	  }	| STRING	  {	  }	;boolean_literal:	  TRUE	  {	  }	| FALSE	  {	  }	;parenthesis_expression:	  '(' assignment_expression ')'	  {	  }	;list_parenthesis_expression:	  '(' expression ')'	  {	  }	;parenthesis_expression_with_rest:	  parenthesis_expression	  {	  }	| '('  ')'	  {	  }	| '(' expression_with_rest ')'	  {	  }	;expression_with_rest:	  expression ',' rest_expression	  {	  }	| rest_expression	  {	  }	;rest_expression:	  ELIPSIS assignment_expression	  {	  }	;reserved_namespace:	  PRIVATE	  {	  }	| PUBLIC	  {	  }	;array_literal:	  '[' ']'	  {	  }	| '[' elision ']'	  {	  }	| '[' element_list ']'	  {	  }	| '[' element_list elision ']'	  {	  }	;element_list:	  assignment_expression	  {	  }	| elision assignment_expression	  {	  }	| element_list elision assignment_expression	  {	  }	;elision:	  ','	  {	  }	| elision ','	  {	  }	;object_literal:	  '{' '}'	  {	  }	| '{' property_name_and_value_list '}'	  {	  }	;property_name_and_value_list:	  property	  {	  }	| property_name_and_value_list ',' property	  {	  }	;property:	  property_name ':' assignment_expression	  {	  }	;property_name:	  qualified_identifier	  {	  }	| STRING	  {	  }	| NUMERIC	  {	  }	| parenthesis_expression	  {	  }	;super_expression:	  SUPER	  {	  }	| SUPER parenthesis_expression	  {	  }	;/*function_expression:	  function_declaration	  {	  }	;member_expression:	  primary_expression	  {	  }	| function_expression	  {	  }	| member_expression '[' expression ']'	  {	  }	| member_expression '.' IDENTIFIER	  {	  }	| NEW member_expression arguments	  {	  }	;new_expression:	  member_expression	  {	  }	| NEW new_expression	  {	  }	;// NOTE: if call_expression represents a type, the call is a castcall_expression:	  member_expression arguments	  {	  }	| call_expression arguments	  {	  }	| call_expression '[' expression ']'	  {	  }	| call_expression '.' IDENTIFIER	  {	  }	;left_hand_side_expression:	  new_expression	  {	  }	| call_expression	  {	  }	;postfix_expression:	  left_hand_side_expression	  {	  }	| left_hand_side_expression INCREMENT	  {	  }	| left_hand_side_expression DECREMENT	  {	  }	;*/brackets:	  '[' ']'	  {	  }	| '[' expression_with_rest ']'	  {	  }	;arguments:	  '(' ')'	  {	  }	| parenthesis_expression_with_rest	  {	  }	;full_new_expression:	  NEW full_new_subexpression arguments	  {	  }	;full_new_subexpression:	  primary_expression	  {	  }	| qualified_identifier	  {	  }	| full_new_expression	  {	  }	| full_new_subexpression property_operator	  {	  }	| super_expression property_operator	  {	  }	;short_new_subexpression:	  full_new_subexpression	  {	  }	| short_new_expression	  {	  }	;short_new_expression:	  NEW short_new_subexpression	  {	  }	;attribute_expression:	  simple_qualified_identifier	  {	  }	| attribute_expression property_operator	  {	  }	| attribute_expression arguments	  {	  }	;property_operator:	  '.' qualified_identifier	  {	  }	| brackets	  {	  }	;full_postfix_expression:	  primary_expression	  {	  }	| expression_qualified_identifier	  {	  }	| full_new_expression	  {	  }	| full_postfix_expression property_operator	  {	  }	| super_expression property_operator	  {	  }	| full_postfix_expression arguments	  {	  }	| postfix_expression INCREMENT	  {	  }	| postfix_expression DECREMENT	  {	  }	;postfix_expression:	  attribute_expression	  {	  }	| full_postfix_expression	  {	  }	| short_new_expression	  {	  }	;unary_expression:	  postfix_expression	  {	  }	| DELETE unary_expression	  {	  }	| VOID unary_expression	  {	  }	| TYPEOF unary_expression	  {	  }	| INCREMENT unary_expression	  {	  }	| DECREMENT unary_expression	  {	  }	| '+' unary_expression	  {	  }	| '-' unary_expression	  {	  }	| '~' unary_expression	  {	  }	| '!' unary_expression	  {	  }	;power_expression:	  unary_expression	  {	  }	| unary_expression POWER power_expression	  {	  }	;multiplicative_expression:	  power_expression	  {	  }	| multiplicative_expression '*' power_expression	  {	  }	| multiplicative_expression '/' power_expression	  {	  }	| multiplicative_expression '%' unary_expression	  {	  }	;additive_expression:	  multiplicative_expression	  {	  }	| additive_expression '+' multiplicative_expression	  {	  }	| additive_expression '-' multiplicative_expression	  {	  }	;shift_expression:	  additive_expression	  {	  }	| shift_expression SHIFT_LEFT additive_expression	  {	  }	| shift_expression SHIFT_RIGHT additive_expression	  {	  }	| shift_expression SHIFT_RIGHT_UNSIGNED additive_expression	  {	  }	| shift_expression ROTATE_LEFT additive_expression	  {	  }	| shift_expression ROTATE_RIGHT additive_expression	  {	  }	;relational_expression:	  shift_expression	  {	  }	| relational_expression '<' shift_expression	  {	  }	| relational_expression '>' shift_expression	  {	  }	| relational_expression LESS_EQUAL shift_expression	  {	  }	| relational_expression GREATER_EQUAL shift_expression	  {	  }	| relational_expression INSTANCEOF shift_expression	  {	  }	| relational_expression IN shift_expression	  {	  }	| relational_expression IS shift_expression	  {	  }	| relational_expression AS shift_expression	  {	  }	;relational_expression_no_in:	  shift_expression	  {	  }	| relational_expression_no_in '<' shift_expression	  {	  }	| relational_expression_no_in '>' shift_expression	  {	  }	| relational_expression_no_in LESS_EQUAL shift_expression	  {	  }	| relational_expression_no_in GREATER_EQUAL shift_expression	  {	  }	| relational_expression_no_in INSTANCEOF shift_expression	  {	  }	;equality_expression:	  relational_expression	  {	  }	| equality_expression EQUAL relational_expression	  {	  }	| equality_expression NOT_EQUAL relational_expression	  {	  }	| equality_expression EXACTLY_EQUAL relational_expression	  {	  }	| equality_expression EXACTLY_NOT_EQUAL relational_expression	  {	  }	;equality_expression_no_in:	  relational_expression_no_in	  {	  }	| equality_expression_no_in EQUAL relational_expression_no_in	  {	  }	| equality_expression_no_in NOT_EQUAL relational_expression_no_in	  {	  }	| equality_expression_no_in EXACTLY_EQUAL relational_expression_no_in	  {	  }	| equality_expression_no_in EXACTLY_NOT_EQUAL relational_expression_no_in	  {	  }	;bitwise_and_expression:	  equality_expression	  {	  }	| bitwise_and_expression '&' equality_expression	  {	  }	;bitwise_and_expression_no_in:	  equality_expression_no_in	  {	  }	| bitwise_and_expression_no_in '&' equality_expression_no_in	  {	  }	;bitwise_xor_expression:	  bitwise_and_expression	  {	  }	| bitwise_xor_expression '^' bitwise_and_expression	  {	  }	;bitwise_xor_expression_no_in:	  bitwise_and_expression_no_in	  {	  }	| bitwise_xor_expression_no_in '^' bitwise_and_expression_no_in	  {	  }	;bitwise_or_expression:	  bitwise_xor_expression	  {	  }	| bitwise_or_expression '|' bitwise_xor_expression	  {	  }	;bitwise_or_expression_no_in:	  bitwise_xor_expression_no_in	  {	  }	| bitwise_or_expression_no_in '|' bitwise_xor_expression_no_in	  {	  }	;logical_and_expression:	  bitwise_or_expression	  {	  }	| logical_and_expression LOGICAL_AND bitwise_or_expression	  {	  }	;logical_and_expression_no_in:	  bitwise_or_expression_no_in	  {	  }	| logical_and_expression_no_in LOGICAL_AND bitwise_or_expression_no_in	  {	  }	;logical_xor_expression:	  logical_and_expression	  {	  }	| logical_xor_expression LOGICAL_XOR logical_and_expression	  {	  }	;logical_xor_expression_no_in:	  logical_and_expression_no_in	  {	  }	| logical_xor_expression_no_in LOGICAL_XOR logical_and_expression_no_in	  {	  }	;logical_or_expression:	  logical_xor_expression	  {	  }	| logical_or_expression LOGICAL_OR logical_xor_expression	  {	  }	;logical_or_expression_no_in:	  logical_xor_expression_no_in	  {	  }	| logical_or_expression_no_in LOGICAL_OR logical_xor_expression_no_in	  {	  }	;min_max_expression:	  logical_or_expression	  {	  }	| min_max_expression MIN logical_or_expression	  {	  }	| min_max_expression MAX logical_or_expression	  {	  }	;min_max_expression_no_in:	  logical_or_expression_no_in	  {	  }	| min_max_expression_no_in MIN logical_or_expression_no_in	  {	  }	| min_max_expression_no_in MAX logical_or_expression_no_in	  {	  }	;conditional_expression:	  min_max_expression	  {	  }	| min_max_expression '?' assignment_expression ':' assignment_expression	  {	  }	;conditional_expression_no_in:	  min_max_expression_no_in	  {	  }	| min_max_expression_no_in '?' assignment_expression ':' assignment_expression_no_in	  {	  }	;assignment_expression:	  conditional_expression	  {	  }	| postfix_expression ASSIGNMENT_OPERATOR assignment_expression	  {	  }	;assignment_expression_no_in:	  conditional_expression_no_in	  {	  }	| postfix_expression ASSIGNMENT_OPERATOR assignment_expression_no_in	  {	  }	;expression:	  assignment_expression	  {	  }	| expression ',' assignment_expression	  {	  }	;expression_no_in:	  assignment_expression_no_in	  {	  }	| expression_no_in ',' assignment_expression_no_in	  {	  }	;expression_no_in_opt:	  /* EMPTY */	  {	  }	| expression_no_in	  {	  }	;%%void yyerror(const char *msg){	printf("YACC ERROR at line #%d in file \"%s\": %s.\n", yylloc.first_line, lex_filename, msg);}

⌨️ 快捷键说明

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