summaryrefslogtreecommitdiff
path: root/Zend/zend_language_parser.y
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2008-06-08 09:38:47 +0000
committerStanislav Malyshev <stas@php.net>2008-06-08 09:38:47 +0000
commit4f522eb576de796c8a78bad2324b5d192561ac9d (patch)
tree07f2db2ce0ac20c137d9dd5ed85e711b3686129f /Zend/zend_language_parser.y
parentf1b8d65790d1e824637ce60a6a418458cf1c69b3 (diff)
downloadphp-git-4f522eb576de796c8a78bad2324b5d192561ac9d.tar.gz
allow aggregating use statements
Diffstat (limited to 'Zend/zend_language_parser.y')
-rw-r--r--Zend/zend_language_parser.y16
1 files changed, 12 insertions, 4 deletions
diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y
index fbe941937c..1fc365cfb7 100644
--- a/Zend/zend_language_parser.y
+++ b/Zend/zend_language_parser.y
@@ -172,13 +172,21 @@ top_statement:
| class_declaration_statement { zend_do_early_binding(TSRMLS_C); }
| T_HALT_COMPILER '(' ')' ';' { zend_do_halt_compiler_register(TSRMLS_C); YYACCEPT; }
| T_NAMESPACE namespace_name ';' { zend_do_namespace(&$2 TSRMLS_CC); }
- | T_USE namespace_name ';' { zend_do_use(&$2, NULL, 0 TSRMLS_CC); }
- | T_USE namespace_name T_AS T_STRING ';' { zend_do_use(&$2, &$4, 0 TSRMLS_CC); }
- | T_USE T_PAAMAYIM_NEKUDOTAYIM T_STRING ';' { zend_do_use(&$3, NULL, 1 TSRMLS_CC); }
- | T_USE T_PAAMAYIM_NEKUDOTAYIM T_STRING T_AS T_STRING ';' { zend_do_use(&$3, &$5, 1 TSRMLS_CC); }
+ | T_USE use_declarations ';'
| constant_declaration ';'
;
+use_declarations:
+ use_declarations ',' use_declaration
+ | use_declaration
+
+use_declaration:
+ namespace_name { zend_do_use(&$1, NULL, 0 TSRMLS_CC); }
+ | namespace_name T_AS T_STRING { zend_do_use(&$1, &$3, 0 TSRMLS_CC); }
+ | T_PAAMAYIM_NEKUDOTAYIM T_STRING { zend_do_use(&$2, NULL, 1 TSRMLS_CC); }
+ | T_PAAMAYIM_NEKUDOTAYIM T_STRING T_AS T_STRING { zend_do_use(&$2, &$4, 1 TSRMLS_CC); }
+
+
constant_declaration:
constant_declaration ',' T_STRING '=' static_scalar { zend_do_declare_constant(&$3, &$5 TSRMLS_CC); }
| T_CONST T_STRING '=' static_scalar { zend_do_declare_constant(&$2, &$4 TSRMLS_CC); }