|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2001-10-27 02:42 UTC] z4k4ri4 at bigfoot dot com
In my script I use a lot of nested array() or array() as
parameter. So the array() things start to get in the way.
I assume many PHP programmer feels the same thing.
We need a short version of array() construct, and I think
the [] is the best choice. It is used in python and ruby.
After a little bit trying I finally could make a patch and
make it work on my server.
I hope this patch will find its way to official php soon.
WARNING:
I'm new in this whole bison & C thing so I maybe making some
silly mistake.
--- php-4.0.6/Zend/zend_language_parser.y.zak Sun May 6 21:36:25 2001
+++ php-4.0.6/Zend/zend_language_parser.y Sat Oct 27 11:20:06 2001
@@ -481,6 +481,7 @@
|
'@' { zend_do_begin_silence(&$1 CLS_CC); } expr {
zend_do_end_silence(&$1 CLS_CC); $$ = $3; }
|
scalar
{ $$ = $1; }
|
T_ARRAY '(' array_pair_list ')' { $$ = $3; }
+
|
'[' array_pair_list ']' { $$ = $2; }
|
'`' encaps_list '`' { zend_do_shell_exec(&$$, &$2 CLS_CC); }
|
T_PRINT expr { zend_do_print(&$$, &$2 CLS_CC); }
;
@@ -533,6 +534,7 @@
|
'+' static_scalar { $$ = $1; }
|
'-' static_scalar { zval minus_one; minus_one.type = IS_LONG;
minus_one.value.lval = -1; mul_function(&$2.u.constant,
&$2.u.constant, &minus_one); $$ = $2; }
|
T_ARRAY '(' static_array_pair_list ')' { $$ = $3;
$$.u.constant.type = IS_CONSTANT_ARRAY; }
+
|
'[' static_array_pair_list ']' { $$ = $2; $$.u.constant.type
= IS_CONSTANT_ARRAY; }
;
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 19:00:02 2025 UTC |
My browser mangling the patch see if these works --- php-4.0.6/Zend/zend_language_parser.y.zak Sun May 6 21:36:25 2001 +++ php-4.0.6/Zend/zend_language_parser.y Sat Oct 27 11:20:06 2001 @@ -481,6 +481,7 @@ | '@' { zend_do_begin_silence(&$1 CLS_CC); } expr { zend_do_end_silence(&$1 CLS_CC); $$ = $3; } | scalar { $$ = $1; } | T_ARRAY '(' array_pair_list ')' { $$ = $3; } + | '[' array_pair_list ']' { $$ = $2; } | '`' encaps_list '`' { zend_do_shell_exec(&$$, &$2 CLS_CC); } | T_PRINT expr { zend_do_print(&$$, &$2 CLS_CC); } ; @@ -533,6 +534,7 @@ | '+' static_scalar { $$ = $1; } | '-' static_scalar { zval minus_one; minus_one.type = IS_LONG; minus_one.value.lval = -1; mul_function(&$2.u.constant, &$2.u.constant, &minus_one); $$ = $2; } | T_ARRAY '(' static_array_pair_list ')' { $$ = $3; $$.u.constant.type = IS_CONSTANT_ARRAY; } + | '[' static_array_pair_list ']' { $$ = $2; $$.u.constant.type = IS_CONSTANT_ARRAY; } ;