php5 syntax
This commit is contained in:
		
							parent
							
								
									9cbf4de42e
								
							
						
					
					
						commit
						7b8c30d9ee
					
				
							
								
								
									
										1100
									
								
								php5/php5.go
									
									
									
									
									
								
							
							
						
						
									
										1100
									
								
								php5/php5.go
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										38
									
								
								php5/php5.y
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								php5/php5.y
									
									
									
									
									
								
							| @ -205,7 +205,7 @@ import ( | |||||||
| %type <node> variable_name variable_without_objects dynamic_class_name_reference new_expr class_name_reference static_member | %type <node> variable_name variable_without_objects dynamic_class_name_reference new_expr class_name_reference static_member | ||||||
| %type <node> function_call fully_qualified_class_name combined_scalar combined_scalar_offset general_constant parenthesis_expr | %type <node> function_call fully_qualified_class_name combined_scalar combined_scalar_offset general_constant parenthesis_expr | ||||||
| %type <node> exit_expr yield_expr function_declaration_statement class_declaration_statement constant_declaration | %type <node> exit_expr yield_expr function_declaration_statement class_declaration_statement constant_declaration | ||||||
| %type <node> else_single new_else_single while_statement for_statement unset_variable | %type <node> else_single new_else_single while_statement for_statement unset_variable foreach_statement | ||||||
| 
 | 
 | ||||||
| %type <list> top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations | %type <list> top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations | ||||||
| %type <list> inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list | %type <list> inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list | ||||||
| @ -213,7 +213,7 @@ import ( | |||||||
| %type <list> for_expr case_list echo_expr_list unset_variables | %type <list> for_expr case_list echo_expr_list unset_variables | ||||||
| 
 | 
 | ||||||
| %type <simpleIndirectReference> simple_indirect_reference | %type <simpleIndirectReference> simple_indirect_reference | ||||||
| %type <foreachVariable> foreach_variable | %type <foreachVariable> foreach_variable foreach_optional_arg | ||||||
| %type <objectPropertyList> object_property object_dim_list dynamic_class_name_variable_properties dynamic_class_name_variable_property | %type <objectPropertyList> object_property object_dim_list dynamic_class_name_variable_properties dynamic_class_name_variable_property | ||||||
| %type <nodesWithEndToken> ctor_arguments function_call_parameter_list switch_case_list | %type <nodesWithEndToken> ctor_arguments function_call_parameter_list switch_case_list | ||||||
| 
 | 
 | ||||||
| @ -689,8 +689,26 @@ unticked_statement: | |||||||
|                 positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $5)) |                 positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $5)) | ||||||
|                 comments.AddComments($$, $1.Comments()) |                 comments.AddComments($$, $1.Comments()) | ||||||
|             } |             } | ||||||
|     |   T_FOREACH '(' variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement {  } |     |   T_FOREACH '(' variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement | ||||||
|     |   T_FOREACH '(' expr_without_variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement {  } |             { | ||||||
|  |                 if $6.node == nil { | ||||||
|  |                     $$ = stmt.NewForeach($3, nil, $5.node, $8, $5.byRef) | ||||||
|  |                 } else { | ||||||
|  |                     $$ = stmt.NewForeach($3, $5.node, $6.node, $8, $6.byRef) | ||||||
|  |                 } | ||||||
|  |                 positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $8)) | ||||||
|  |                 comments.AddComments($$, $1.Comments()) | ||||||
|  |             } | ||||||
|  |     |   T_FOREACH '(' expr_without_variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement | ||||||
|  |             { | ||||||
|  |                 if $6.node == nil { | ||||||
|  |                     $$ = stmt.NewForeach($3, nil, $5.node, $8, $5.byRef) | ||||||
|  |                 } else { | ||||||
|  |                     $$ = stmt.NewForeach($3, $5.node, $6.node, $8, $6.byRef) | ||||||
|  |                 } | ||||||
|  |                 positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $8)) | ||||||
|  |                 comments.AddComments($$, $1.Comments()) | ||||||
|  |             } | ||||||
|     |   T_DECLARE {  } '(' declare_list ')' declare_statement {  } |     |   T_DECLARE {  } '(' declare_list ')' declare_statement {  } | ||||||
|     |   ';'     /* empty statement */       {  } |     |   ';'     /* empty statement */       {  } | ||||||
|     |   T_TRY '{' inner_statement_list '}' catch_statement finally_statement {  } |     |   T_TRY '{' inner_statement_list '}' catch_statement finally_statement {  } | ||||||
| @ -809,8 +827,10 @@ interface_list: | |||||||
| ; | ; | ||||||
| 
 | 
 | ||||||
| foreach_optional_arg: | foreach_optional_arg: | ||||||
|         /* empty */                     {  } |         /* empty */ | ||||||
|     |   T_DOUBLE_ARROW foreach_variable {  } |             { $$ = foreachVariable{nil, false} } | ||||||
|  |     |   T_DOUBLE_ARROW foreach_variable | ||||||
|  |             { $$ = $2 } | ||||||
| ; | ; | ||||||
| 
 | 
 | ||||||
| foreach_variable: | foreach_variable: | ||||||
| @ -841,7 +861,13 @@ for_statement: | |||||||
| 
 | 
 | ||||||
| foreach_statement: | foreach_statement: | ||||||
|         statement |         statement | ||||||
|  |             { $$ = $1; } | ||||||
|     |   ':' inner_statement_list T_ENDFOREACH ';' |     |   ':' inner_statement_list T_ENDFOREACH ';' | ||||||
|  |             { | ||||||
|  |                 $$ = stmt.NewStmtList($2) | ||||||
|  |                 positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) | ||||||
|  |                 comments.AddComments($$, $1.Comments()) | ||||||
|  |             } | ||||||
| ; | ; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user