Hi

Looks pretty good to me, I would prefer to have that insted of multiple use
statements after each other like you can do with the global keyword.

"+1" from me

Kalle
----- Original Message ----- From: "Stanislav Malyshev" <[EMAIL PROTECTED]>
To: "'PHP Internals'" <internals@lists.php.net>
Sent: Sunday, June 01, 2008 6:09 PM
Subject: [PHP-DEV] multiple use


Hi!

Attached is the patch that implements multiple elements in use
statement, like this:

use foo::bar as baz, foo::baz as bazbaz;

Any objections to it?
--
Stanislav Malyshev, Zend Software Architect
[EMAIL PROTECTED]   http://www.zend.com/
(408)253-8829   MSN: [EMAIL PROTECTED]



--------------------------------------------------------------------------------


Index: zend_language_parser.y
===================================================================
RCS file: /repository/ZendEngine2/zend_language_parser.y,v
retrieving revision 1.160.2.4.2.8.2.20
diff -u -r1.160.2.4.2.8.2.20 zend_language_parser.y
--- zend_language_parser.y 7 May 2008 12:04:37 -0000 1.160.2.4.2.8.2.20
+++ zend_language_parser.y 28 May 2008 19:12:45 -0000
@@ -172,13 +172,21 @@
 | 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); }




--------------------------------------------------------------------------------


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to