@@ -300,7 +300,7 @@ start:
300
300
301
301
reserved_non_modifiers :
302
302
T_INCLUDE | T_INCLUDE_ONCE | T_EVAL | T_REQUIRE | T_REQUIRE_ONCE | T_LOGICAL_OR | T_LOGICAL_XOR | T_LOGICAL_AND
303
- | T_INSTANCEOF | T_NEW | T_CLONE | T_WITH | T_EXIT | T_IF | T_ELSEIF | T_ELSE | T_ENDIF | T_ECHO | T_DO | T_WHILE | T_ENDWHILE
303
+ | T_INSTANCEOF | T_NEW | T_CLONE | T_EXIT | T_IF | T_ELSEIF | T_ELSE | T_ENDIF | T_ECHO | T_DO | T_WHILE | T_ENDWHILE
304
304
| T_FOR | T_ENDFOR | T_FOREACH | T_ENDFOREACH | T_DECLARE | T_ENDDECLARE | T_AS | T_TRY | T_CATCH | T_FINALLY
305
305
| T_THROW | T_USE | T_INSTEADOF | T_GLOBAL | T_VAR | T_UNSET | T_ISSET | T_EMPTY | T_CONTINUE | T_GOTO
306
306
| T_FUNCTION | T_CONST | T_RETURN | T_PRINT | T_YIELD | T_LIST | T_SWITCH | T_ENDSWITCH | T_CASE | T_DEFAULT | T_BREAK
@@ -310,7 +310,7 @@ reserved_non_modifiers:
310
310
311
311
semi_reserved :
312
312
reserved_non_modifiers
313
- | T_STATIC | T_ABSTRACT | T_FINAL | T_PRIVATE | T_PROTECTED | T_PUBLIC | T_READONLY
313
+ | T_STATIC | T_ABSTRACT | T_FINAL | T_PRIVATE | T_PROTECTED | T_PUBLIC | T_READONLY | T_WITH
314
314
;
315
315
316
316
ampersand :
@@ -570,6 +570,11 @@ function_name:
570
570
if (zend_lex_tstring(&zv, $1 ) == FAILURE) { YYABORT ; }
571
571
$$ = zend_ast_create_zval(&zv);
572
572
}
573
+ | T_WITH {
574
+ zval zv;
575
+ if (zend_lex_tstring(&zv, $1 ) == FAILURE) { YYABORT ; }
576
+ $$ = zend_ast_create_zval(&zv);
577
+ }
573
578
;
574
579
575
580
function_declaration_statement :
@@ -1323,6 +1328,11 @@ function_call:
1323
1328
if (zend_lex_tstring(&zv, $1 ) == FAILURE) { YYABORT ; }
1324
1329
$$ = zend_ast_create(ZEND_AST_CALL, zend_ast_create_zval(&zv), $2 );
1325
1330
}
1331
+ | T_WITH argument_list {
1332
+ zval zv;
1333
+ if (zend_lex_tstring(&zv, $1 ) == FAILURE) { YYABORT ; }
1334
+ $$ = zend_ast_create(ZEND_AST_CALL, zend_ast_create_zval(&zv), $2 );
1335
+ }
1326
1336
| class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list
1327
1337
{ $$ = zend_ast_create(ZEND_AST_STATIC_CALL, $1 , $3 , $4 ); }
1328
1338
| variable_class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list
0 commit comments