| 625000a |
|
09-Jan-2013 |
Dmitry Stogov <dmitry@zend.com> |
Merge branch 'PHP-5.3' into PHP-5.4 * PHP-5.3: Fixed compilator bug that might cause jump depended on unitialized value
|
| d4650c5 |
|
09-Jan-2013 |
Dmitry Stogov <dmitry@zend.com> |
Fixed compilator bug that might cause jump depended on unitialized value
/PHP_5_4/Zend/zend_language_parser.y
|
| 0a7395e |
|
01-Jan-2013 |
Xinchen Hui <laruence@php.net> |
Happy New Year
/PHP_5_4/Zend/zend_language_parser.y
|
| 831fbcf |
|
01-Jan-2013 |
Xinchen Hui <laruence@php.net> |
Happy New Year
/PHP_5_4/Zend/zend_language_parser.y
|
| 3f8c729 |
|
25-Dec-2012 |
Dmitry Stogov <dmitry@zend.com> |
Traits refactoring
/PHP_5_4/Zend/zend_language_parser.y
|
| a44a1dc |
|
26-Jun-2012 |
Xinchen Hui <laruence@php.net> |
Fixed bug #62357 (compile failure: (S) Arguments missing for built-in function __memcmp). Any C library function may be a macro, We should avoid using ZEND_STRS(L) as their arguments
/PHP_5_4/Zend/zend_language_parser.y
|
| b515bfb |
|
17-Jan-2012 |
Dmitry Stogov <dmitry@php.net> |
Improved traits implementation. Now to support __CLASS__ constant in traits php doesn't have to copy the complete compiled method, but can reuse the same code. The resolution of __CLASS__ constants in methods defined in traits are delayed till run-time. This approach also made possible to use __CLASS__ constant as default value for traits properties and method arguments.
/PHP_5_4/Zend/zend_language_parser.y
|
| e4ca0ed |
|
01-Jan-2012 |
Felipe Pena <felipe@php.net> |
- Year++
/PHP_5_4/Zend/zend_language_parser.y
|
| 4e19825 |
|
01-Jan-2012 |
Felipe Pena <felipe@php.net> |
- Year++
/PHP_5_4/Zend/zend_language_parser.y
|
| ff48763 |
|
06-Nov-2011 |
Felipe Pena <felipe@php.net> |
- Added class member access on instantiation (e.g. (new foo)->bar()) support
/PHP_5_4/Zend/zend_language_parser.y
|
| 17abf87 |
|
16-Aug-2011 |
Felipe Pena <felipe@php.net> |
- Drop T_SCALAR_CAST
/PHP_5_4/Zend/zend_language_parser.y
|
| 550980c |
|
16-Aug-2011 |
Hannes Magnusson <bjori@php.net> |
Callable typehint following the rules of is_callable($arg, false);
/PHP_5_4/Zend/zend_language_parser.y
|
| ad4d6d1 |
|
01-Aug-2011 |
Dmitry Stogov <dmitry@php.net> |
Added support for Class::{expr}() syntax (Pierrick)
/PHP_5_4/Zend/zend_language_parser.y
|
| 0158804 |
|
31-Jul-2011 |
Stefan Marr <gron@php.net> |
Added __TRAIT__ magic constant [TRAITS] [DOC] # __TRAIT__ behaves like __CLASS__ more or less but is constraint to traits. # Since traits are not types, there are not many valid use cases, and trying # to use __TRAIT__ to make traits more like classes is discouraged.
/PHP_5_4/Zend/zend_language_parser.y
|
| 80496c9 |
|
23-Jul-2011 |
Pierre Joye <pajoye@php.net> |
- add short array syntax as defined in https://wiki.php.net/rfc/shortsyntaxforarrays, 2nd solution using => only
/PHP_5_4/Zend/zend_language_parser.y
|
| 70cacfd |
|
09-Jul-2011 |
Felipe Pena <felipe@php.net> |
- Changed zend_resolve_class_name() prototype # No needed to pass fetch_type as pointer here
/PHP_5_4/Zend/zend_language_parser.y
|
| d8e8e68 |
|
02-Jul-2011 |
Felipe Pena <felipe@php.net> |
- Fixed bug #55086 (Namespace alias does not work inside trait's use block) patch by: Pierrick
/PHP_5_4/Zend/zend_language_parser.y
|
| e9ce400 |
|
24-Jun-2011 |
Felipe Pena <felipe@php.net> |
- Fixed build on Windows
/PHP_5_4/Zend/zend_language_parser.y
|
| 0372e6a |
|
23-Jun-2011 |
Felipe Pena <felipe@php.net> |
- Improved parse error messages
/PHP_5_4/Zend/zend_language_parser.y
|
| 80d432c |
|
12-Jun-2011 |
Felipe Pena <felipe@php.net> |
- Avoid zend_do_ticks() call for each statement in parsing
/PHP_5_4/Zend/zend_language_parser.y
|
| 86ed2ee |
|
12-Jun-2011 |
Felipe Pena <felipe@php.net> |
- Avoid zend_do_ticks() call for each statement in parsing
/PHP_5_4/Zend/zend_language_parser.y
|
| e186189 |
|
03-Jun-2011 |
Stanislav Malyshev <stas@php.net> |
scalar types cleanup
/PHP_5_4/Zend/zend_language_parser.y
|
| 516c2f5 |
|
15-May-2011 |
Stanislav Malyshev <stas@php.net> |
removing scalar types in trunk
/PHP_5_4/Zend/zend_language_parser.y
|
| 927bf09 |
|
01-Jan-2011 |
Felipe Pena <felipe@php.net> |
- Year++
/PHP_5_4/Zend/zend_language_parser.y
|
| 0203cc3 |
|
01-Jan-2011 |
Felipe Pena <felipe@php.net> |
- Year++
/PHP_5_4/Zend/zend_language_parser.y
|
| 2188f26 |
|
25-Aug-2010 |
Dmitry Stogov <dmitry@php.net> |
Fixed bug #52614 (Memory leak when writing on uninitialized variable returned from method call)
/PHP_5_4/Zend/zend_language_parser.y
|
| eb0ba90 |
|
12-Jun-2010 |
Felipe Pena <felipe@php.net> |
- Allow write context on array dereferencing from method return - New tests
/PHP_5_4/Zend/zend_language_parser.y
|
| 99c31b3 |
|
08-Jun-2010 |
Felipe Pena <felipe@php.net> |
- Added array dereferencing support [DOC] # http://wiki.php.net/rfc/functionarraydereferencing
/PHP_5_4/Zend/zend_language_parser.y
|
| 33fae4c |
|
24-May-2010 |
Ilia Alshanetsky <iliaa@php.net> |
Added support for numeric & scalar type hint as defined within http://wiki.php.net/rfc/typecheckingstrictandweak RFC
/PHP_5_4/Zend/zend_language_parser.y
|
| 1bc9247 |
|
20-May-2010 |
Derick Rethans <derick@php.net> |
- Added scalar typehinting.
/PHP_5_4/Zend/zend_language_parser.y
|
| cd6415f |
|
22-Apr-2010 |
Stefan Marr <gron@php.net> |
Implemented Traits for PHP as proposed in the RFC [TRAITS] # RFC http://wiki.php.net/rfc/horizontalreuse#traits_-_reuse_of_behavior # Ok, here we go, I guess that will result in more discussion, which is fine # by me. But now, the patch is here, and properly archived. # # See below a list of notes to the patch, it also includes a list of # points which should be fixed # # Internals of the Traits Patch # ----------------------------- # # Open TODOs # """""""""" # # - Reflection API # - support for traits for internal classes # - currently destroy_zend_class does not handle that case # # Introduced Structures # """"""""""""""""""""" # # Data structures to encode the composition information specified in the # source: # - zend_trait_method_reference # - zend_trait_precedence # - zend_trait_alias # # Changes # """"""" # # zend_class_entry # - uses NULL terminated lists of pointers for # - trait_aliases # - trait_precedences # - do you prefer an explicit counter? # - the information is only necessary during class composition # but might be interesting for reflection # - did not want to blow up class further with not really necessary length counters # # added keywords # - trait # - insteadof # # Added opcodes # ZEND_ADD_TRAIT # - similar to ZEND_ADD_INTERFACE # - adds the trait to the list of traits of a class, no actual composition done # ZEND_BIND_TRAITS # - emitted in zend_do_end_class_declaration # - concludes the class definition and will initiate the trait composition # when the class definition is encountered during runtime # # Added Flags # ZEND_ACC_TRAIT = 0x120 # ZEND_ACC_IMPLEMENT_TRAITS = 0x400000 # ZEND_FETCH_CLASS_TRAIT = 14 # # zend_vm_execute.h # - not sure whether the handler initialization (ZEND_ADD_TRAIT_SPEC_HANDLER, # ZEND_BIND_TRAITS_SPEC_HANDLER) is correct, maybe it should be more selective # # zend_compile.c # - refactored do_inherit_method_check # split into do_inherit_method_check and do_inheritance_check_on_method # - added helper functions use a '_' as prefix and are not mentioned in the # headers # - _copy_functions # prepare hash-maps of functions which should be merged into a class # here the aliases are handled # - _merge_functions # builds a hash-table of the methods which need to be added to a class # does the conflict detection # - reused php_runkit_function_copy_ctor # - it is not identical with the original code anymore, needed to update it # think I fixed some bugs, not sure whether all have been reported back to runkit # - has to be renamed, left the name for the moment, to make its origin obvious # - here might be optimization potential # - not sure whether everything needs to be copied # - copying the literals might be broken # - added it since the literals array is freed by efree and gave problems # with doubled frees # - all immutable parts of the zend_op array should not be copied # - am not sure which parts are immutable # - and not sure how to avoid doubled frees on the same arrays on shutdown # - _merge_functions_to_class # does the final merging with the target class to handle inherited # and overridden methods # - small helper for NULL terminated lists # zend_init_list, zend_add_to_list # # zend_language_parser.y # - reused class definition for traits # - there should be something with regard to properties # - if they get explicitly defined, it might be worthwhile to # check that there are no collisions with other traits in a composition # (however, I would not introduce elaborate language features to control that # but a notice for such conflicts might be nice to the developers)
/PHP_5_4/Zend/zend_language_parser.y
|
| 453b49e |
|
20-Apr-2010 |
Dmitry Stogov <dmitry@php.net> |
Added a number of small performance tweaks and optimizations . ZEND_RECV now always has IS_CV as its result . ZEND_CATCH now has to be used only with constant class names . ZEND_FETCH_DIM_? may fetch array and dimension operans in a different order
/PHP_5_4/Zend/zend_language_parser.y
|
| 94dd837 |
|
20-Apr-2010 |
Dmitry Stogov <dmitry@php.net> |
Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table
/PHP_5_4/Zend/zend_language_parser.y
|
| c93a4f1 |
|
19-Apr-2010 |
Stanislav Malyshev <stas@php.net> |
restore $this support for closures to its former glory
/PHP_5_4/Zend/zend_language_parser.y
|
| 3defe76 |
|
05-Jan-2010 |
Sebastian Bergmann <sebastian@php.net> |
sed -i "s#1998-2009#1998-2010#g" **/*.re **/*.y **/*.l
/PHP_5_4/Zend/zend_language_parser.y
|
| 7ef3db0 |
|
26-Mar-2009 |
Dmitry Stogov <dmitry@php.net> |
Fixed bug #47516 (nowdoc can not be embed in heredoc but can be embed in double quote)
/PHP_5_4/Zend/zend_language_parser.y
|
| c6d89bd |
|
26-Jan-2009 |
Christian Seiler <cseiler@php.net> |
[DOC] Remove $this support in closures for PHP 5.3 beta 1 - Implementation notes here: http://wiki.php.net/rfc/closures/removal-of-this
/PHP_5_4/Zend/zend_language_parser.y
|
| bfcea7f |
|
02-Jan-2009 |
Felipe Pena <felipe@php.net> |
- MFH: Year++
/PHP_5_4/Zend/zend_language_parser.y
|
| ea45b71 |
|
25-Nov-2008 |
Dmitry Stogov <dmitry@php.net> |
Added support for namespaces with brackets. (Greg)
/PHP_5_4/Zend/zend_language_parser.y
|
| 4cb8b8b |
|
17-Nov-2008 |
Stanislav Malyshev <stas@php.net> |
Improve use syntax [DOC] use \foo\bar is the same as use foo\bar
/PHP_5_4/Zend/zend_language_parser.y
|
| 1b4134c |
|
11-Nov-2008 |
Stanislav Malyshev <stas@php.net> |
Namespace resolution streamlining patch [DOC] new resolution rules should be documented soon
/PHP_5_4/Zend/zend_language_parser.y
|
| f26f2c0 |
|
08-Nov-2008 |
Antony Dovgal <tony2001@php.net> |
fix more invalid reads
/PHP_5_4/Zend/zend_language_parser.y
|
| 57b9a64 |
|
07-Nov-2008 |
Antony Dovgal <tony2001@php.net> |
fix typo causing invalid reads
/PHP_5_4/Zend/zend_language_parser.y
|
| 7126de4 |
|
04-Nov-2008 |
Marcus Boerger <helly@php.net> |
- Next step in namespaces, using / as namespace separator.
/PHP_5_4/Zend/zend_language_parser.y
|
| 2e6d655 |
|
29-Aug-2008 |
Matt Wilmas <mattwil@php.net> |
MFH: - Saved opcode when unary +/- is applied to IS_CONST op (e.g. for negative numbers) - Made '+' in static_scalar context behave as '-' by calling add_function()
/PHP_5_4/Zend/zend_language_parser.y
|
| 4344e2e |
|
12-Aug-2008 |
Marcus Boerger <helly@php.net> |
- MFH Add missing ';'s
/PHP_5_4/Zend/zend_language_parser.y
|
| 478acfd |
|
26-Jul-2008 |
Dmitry Stogov <dmitry@php.net> |
. Added support for using static HEREDOCs to initialize static variables and class members or constants. (Matt) . Improved syntax highlighting and consistency for variables in double-quoted strings and literal text in HEREDOCs and backticks. (Matt) . Optimized interpolated strings to use one less opcode. (Matt)
/PHP_5_4/Zend/zend_language_parser.y
|
| 44325e6 |
|
24-Jul-2008 |
Dmitry Stogov <dmitry@php.net> |
Fixed bug #45178 (memory corruption on assignment result of "new" by reference)
/PHP_5_4/Zend/zend_language_parser.y
|
| d5ef2f4 |
|
14-Jul-2008 |
Dmitry Stogov <dmitry@php.net> |
Added support for lambda functions and closures
/PHP_5_4/Zend/zend_language_parser.y
|
| 4f522eb |
|
08-Jun-2008 |
Stanislav Malyshev <stas@php.net> |
allow aggregating use statements
/PHP_5_4/Zend/zend_language_parser.y
|
| 5521912 |
|
07-May-2008 |
Dmitry Stogov <dmitry@php.net> |
Use IS_CV for dirrent access to $this variable
/PHP_5_4/Zend/zend_language_parser.y
|
| f66f55e |
|
28-Mar-2008 |
Felipe Pena <felipe@php.net> |
MFH: Implemented "jump label" operator (limited "goto") [DOC]
/PHP_5_4/Zend/zend_language_parser.y
|
| d3e5026 |
|
23-Feb-2008 |
Marcus Boerger <helly@php.net> |
- MFH Add E_DEPRECATED (Lars Strojny, Felipe Pena, Marcus) [DOC] Finally added deprecation messages
/PHP_5_4/Zend/zend_language_parser.y
|
| ddcf7a2 |
|
12-Feb-2008 |
Dmitry Stogov <dmitry@php.net> |
Added NEWDOC
/PHP_5_4/Zend/zend_language_parser.y
|
| 51278b6 |
|
12-Feb-2008 |
Dmitry Stogov <dmitry@php.net> |
Fixed ext/tokenizer test failures because of token renumbering
/PHP_5_4/Zend/zend_language_parser.y
|
| fd597dc |
|
12-Feb-2008 |
Stanislav Malyshev <stas@php.net> |
[DOC] Add compile-time __DIR__ constant which implements dirname(__FILE__)
/PHP_5_4/Zend/zend_language_parser.y
|
| 1ecdaa3 |
|
03-Feb-2008 |
Marcus Boerger <helly@php.net> |
- Fix warnings
/PHP_5_4/Zend/zend_language_parser.y
|
| 5a3eb53 |
|
28-Dec-2007 |
Dmitry Stogov <dmitry@php.net> |
Fixed bug #38469 (unexpected creation of cycle, json tests failed, leaks memory)
/PHP_5_4/Zend/zend_language_parser.y
|
| 64e8f22 |
|
13-Dec-2007 |
Dmitry Stogov <dmitry@php.net> |
Allowed import of global classes "use ::GlobalClassName;"
/PHP_5_4/Zend/zend_language_parser.y
|
| 6484b3c |
|
07-Dec-2007 |
Dmitry Stogov <dmitry@php.net> |
Fixed bug #43344 (Wrong error message for undefined namespace constant)
/PHP_5_4/Zend/zend_language_parser.y
|
| 45f6b4c |
|
21-Nov-2007 |
Johannes Schlüter <johannes@php.net> |
- MFH Improved version of ternary shortcut (Marcus)
/PHP_5_4/Zend/zend_language_parser.y
|
| 4a8ed7a |
|
21-Nov-2007 |
Johannes Schlüter <johannes@php.net> |
- MFH ?: operator (Marcus) [DOC] "expr1 ?: expr1" is a shortcut for: "expr1 ? expr1 : expr2" as exists in gcc and discussed some time back. Note that this is not an implementation ifsetor($var, default). While ifsetor would not generate any message for non existing variables or array indices the ternary shortcut does. Also the ternary shortcut does a boolean evaluation rather then checking for isset(). That way ther ternary shortcut can work on any expression while ifsetor can only work on variables. Also to be silent one has do do: "@$expr1 ?: $expr2".
/PHP_5_4/Zend/zend_language_parser.y
|
| 9f230a0 |
|
20-Nov-2007 |
Dmitry Stogov <dmitry@php.net> |
Added support for "namespace::" prefix that is resolved to current namespace name.
/PHP_5_4/Zend/zend_language_parser.y
|
| 18a656d |
|
11-Nov-2007 |
Johannes Schlüter <johannes@php.net> |
- MFH: static can't be used as type hint, fixes #43126 (Etienne Kneuss)
/PHP_5_4/Zend/zend_language_parser.y
|
| b7d87be |
|
07-Nov-2007 |
Dmitry Stogov <dmitry@php.net> |
T_IMPORT -> T_USE
/PHP_5_4/Zend/zend_language_parser.y
|
| b599e43 |
|
23-Oct-2007 |
Dmitry Stogov <dmitry@php.net> |
Fixed bug #35163 (Array elements can lose references)
/PHP_5_4/Zend/zend_language_parser.y
|
| 41e9b6b |
|
01-Oct-2007 |
Dmitry Stogov <dmitry@php.net> |
Fixed bug #42802 (Namespace not supported in typehints)
/PHP_5_4/Zend/zend_language_parser.y
|
| 166266d |
|
29-Sep-2007 |
Dmitry Stogov <dmitry@php.net> |
Added support for Late Static Binding. (Dmitry, Etienne Kneuss)
/PHP_5_4/Zend/zend_language_parser.y
|
| f32ffe9 |
|
28-Sep-2007 |
Dmitry Stogov <dmitry@php.net> |
Namespaces
/PHP_5_4/Zend/zend_language_parser.y
|
| 9483a2f |
|
27-Sep-2007 |
Johannes Schlüter <johannes@php.net> |
- Readd support for ynamic access of static members (Etienne)
/PHP_5_4/Zend/zend_language_parser.y
|
| c8f090c |
|
13-Aug-2007 |
Stanislav Malyshev <stas@php.net> |
Revert variable class patch for 5.2
/PHP_5_4/Zend/zend_language_parser.y
|
| b3c6a9d |
|
02-Aug-2007 |
Johannes Schlüter <johannes@php.net> |
- Add possibility to call static class members using variables (Etienne Kneuss)
/PHP_5_4/Zend/zend_language_parser.y
|
| bc2b546 |
|
18-May-2007 |
Stanislav Malyshev <stas@php.net> |
fix #41401 - parser precedence on unary operators # now 1/-2*5 is -2.5 as it should be
/PHP_5_4/Zend/zend_language_parser.y
|
| 80d2409 |
|
18-May-2007 |
Dmitry Stogov <dmitry@php.net> |
Improved compilation of heredocs and interpolated strings. (Matt, Dmitry)
/PHP_5_4/Zend/zend_language_parser.y
|
| 17c0c49 |
|
04-Apr-2007 |
Ilia Alshanetsky <iliaa@php.net> |
Addres limitation of __HALT_COMPILER() that allowed only one instance per request. # Patch by Greg Beaver
/PHP_5_4/Zend/zend_language_parser.y
|
| e470e22 |
|
10-Jan-2007 |
Dmitry Stogov <dmitry@php.net> |
- Fixed bug #35106 (nested foreach fails when array variable has a reference). - Fixed bug #36214 (__get method works properly only when conditional operator is used). - Fixed bug #39449 (Overloaded array properties do not work correctly). - Fixed bug #39990 (Cannot "foreach" over overloaded properties).
/PHP_5_4/Zend/zend_language_parser.y
|
| c348c29 |
|
20-Dec-2006 |
Antony Dovgal <tony2001@php.net> |
MFH: fix #39903 (Notice message when executing __halt_compiler() more than once)
/PHP_5_4/Zend/zend_language_parser.y
|
| 7a5240e |
|
11-May-2006 |
Marcus Boerger <helly@php.net> |
- MFH missing bits and pieces of the partial sync with head # This time i added: # ZEND_FE_RESET_VARIABLE # ZEND_FE_RESET_REFERENCE # and dapted parser,compiler,executor,interfaces to handle these flags # their purpose is to be able to pass whetehr foreach is done by ref to # the current() handler so that it can error out in case it is not capable # to comply to the requested return signature/protocol/semantics (weyp).
/PHP_5_4/Zend/zend_language_parser.y
|
| e7f6a3f |
|
12-Mar-2006 |
Ilia Alshanetsky <iliaa@php.net> |
As per agreement during PDM, remove the E_STRICT deprecation notice from "var".
/PHP_5_4/Zend/zend_language_parser.y
|
| 61e93cc |
|
04-Jan-2006 |
Andi Gutmans <andi@php.net> |
- Update copyright notices to 2006
/PHP_5_4/Zend/zend_language_parser.y
|
| cc50a96 |
|
17-Oct-2005 |
Dmitry Stogov <dmitry@php.net> |
Fixed bug #34873 (Segmentation Fault on foreach in object)
/PHP_5_4/Zend/zend_language_parser.y
|
| 967413c |
|
21-Sep-2005 |
Marcus Boerger <helly@php.net> |
- MFH Fix Bug #34243 ReflectionClass::getDocComment() returns no result
/PHP_5_4/Zend/zend_language_parser.y
|
| 916815b |
|
03-Aug-2005 |
foobar <sniper@php.net> |
Bump up the year
/PHP_5_4/Zend/zend_language_parser.y
|
| 343af54 |
|
04-Jul-2005 |
Dmitry Stogov <dmitry@php.net> |
Fixed SIGSEGV on 'global ${"{$blah}_ID"};'
/PHP_5_4/Zend/zend_language_parser.y
|
| 0a44789 |
|
08-Jun-2005 |
Dmitry Stogov <dmitry@php.net> |
Fixed bug #30961 (Wrong linenumber in ReflectionClass getStartLine())
/PHP_5_4/Zend/zend_language_parser.y
|
| d33500e |
|
04-Jun-2005 |
Zeev Suraski <zeev@php.net> |
Thought I committed it ages ago... Anyway, without further delays, the final __halt_compiler() patch
/PHP_5_4/Zend/zend_language_parser.y
|
| 1a72341 |
|
26-May-2005 |
Dmitry Stogov <dmitry@php.net> |
Added array type hinting. (This patch requires full re-make)
/PHP_5_4/Zend/zend_language_parser.y
|
| a29f539 |
|
11-Feb-2005 |
Marcus Boerger <helly@php.net> |
- Cleanup foreach handling
/PHP_5_4/Zend/zend_language_parser.y
|
| fc96c7f |
|
07-Feb-2005 |
Dmitry Stogov <dmitry@php.net> |
foreash($a as $key => $val) optimization Removed temorary array creation on each iteration.
/PHP_5_4/Zend/zend_language_parser.y
|
| 2d13dd0 |
|
07-Feb-2005 |
Marcus Boerger <helly@php.net> |
- Remove part of the cleanup which causes a problem with unnormal code like tests/lang/040.phpt # However there is a memleak introduced somewhen after august 04 for such # code now, 5.0 and 4.3 are fine though.
/PHP_5_4/Zend/zend_language_parser.y
|
| 662cd82 |
|
05-Feb-2005 |
Marcus Boerger <helly@php.net> |
- Cleanup foreach statement
/PHP_5_4/Zend/zend_language_parser.y
|
| db507dd |
|
04-Oct-2004 |
Andi Gutmans <andi@php.net> |
- Commit the variable fetch optimization. - Extensions which delete global variables need to use new special function - delete_global_variable() (I'm about to rename it) to remove them. - Will post to internals@ or via commit messages if there's anything else.
/PHP_5_4/Zend/zend_language_parser.y
|
| 6ccbb6b |
|
16-Sep-2004 |
Sebastian Bergmann <sebastian@php.net> |
ZTS fix.
/PHP_5_4/Zend/zend_language_parser.y
|
| d8efe62 |
|
16-Sep-2004 |
Andi Gutmans <andi@php.net> |
- Fix bug #27669 (Dmitry). Fixes: <? class A { function hello() { echo "Hello World\n"; } } $y[0] = 'hello'; A::$y[0](); ?>
/PHP_5_4/Zend/zend_language_parser.y
|
| dc7cb19 |
|
02-Aug-2004 |
Marcus Boerger <helly@php.net> |
- Remove all for now # - the optimization part can be done in apc or compareable products # - NULL can be reintroduced later when needed
/PHP_5_4/Zend/zend_language_parser.y
|
| d96e7a1 |
|
29-Jul-2004 |
Sara Golemon <pollita@php.net> |
Revert goto opcode
/PHP_5_4/Zend/zend_language_parser.y
|
| 5865b36 |
|
29-Jul-2004 |
Sara Golemon <pollita@php.net> |
Add goto operator by popular request.
/PHP_5_4/Zend/zend_language_parser.y
|
| 86d46f7 |
|
16-Jul-2004 |
Marcus Boerger <helly@php.net> |
- Speed up by making null/false/true reserved word which allows to drop an opcode (FETCH_CONSTANT) for every usage.
/PHP_5_4/Zend/zend_language_parser.y
|
| 173782b |
|
20-Apr-2004 |
Andi Gutmans <andi@php.net> |
- Fix bug #27283 - Exceptions where the last catch() statement was sometimes - skipped.
/PHP_5_4/Zend/zend_language_parser.y
|
| 1293330 |
|
28-Mar-2004 |
Stanislav Malyshev <stas@php.net> |
check writability on =& too
/PHP_5_4/Zend/zend_language_parser.y
|
| 50ee116 |
|
09-Mar-2004 |
Marcus Boerger <helly@php.net> |
Clearify the different method/class flags (as discussed with Andi).
/PHP_5_4/Zend/zend_language_parser.y
|
| 059c533 |
|
26-Feb-2004 |
Marcus Boerger <helly@php.net> |
Fix __METHOD__ (noticed by Davey Sahfik)
/PHP_5_4/Zend/zend_language_parser.y
|
| 4f05437 |
|
23-Feb-2004 |
Andi Gutmans <andi@php.net> |
- Improve precendence: <?php $obj->foo = "Blah"; if (!$obj instanceof StdClass) { print "No"; } else { print "Yes"; }
/PHP_5_4/Zend/zend_language_parser.y
|
| 4a14e5c |
|
23-Feb-2004 |
Andi Gutmans <andi@php.net> |
- Decrease precedence of instanceof so that the following is true: php -r 'var_export((object)1 instanceof stdClass);'; Patch by Jan Lehnardt
/PHP_5_4/Zend/zend_language_parser.y
|
| c6cbafa |
|
11-Feb-2004 |
Marcus Boerger <helly@php.net> |
Fix: <interface> [extends <interface> [, <ineterface>]* ]
/PHP_5_4/Zend/zend_language_parser.y
|
| c5d8422 |
|
04-Feb-2004 |
Zeev Suraski <zeev@php.net> |
Reinstate early-binding for classes. Note that this is available for downwards compatibility only - and it doesn't work if you use new features (namely, interfaces). Generally, people should declare their classes before using them, but we just didn't want hell to break loose (c)
/PHP_5_4/Zend/zend_language_parser.y
|
| 9e60cb5 |
|
03-Feb-2004 |
Zeev Suraski <zeev@php.net> |
Rewrote exception support. Fixes a few limitations and bugs in the old implementation, and allows exceptions to 'fire' much earlier than before. Instructions on how to use the new mechanism will follow on internals@ shortly... Note - this (most probably) breaks the current implementation of set_exception_handler()
/PHP_5_4/Zend/zend_language_parser.y
|
| 8e30d96 |
|
02-Feb-2004 |
Zeev Suraski <zeev@php.net> |
Redesign the clone() feature to fix some fundamental flaws in the previous implementation. Using clone directly is now done using $replica = clone $src; Clone methods must now be declared as follows: function __clone($that) { } Clone methods in derived classes can call the __clone method of their parent classes using parent::__clone($that)
/PHP_5_4/Zend/zend_language_parser.y
|
| ac5d5c7 |
|
11-Jan-2004 |
Andi Gutmans <andi@php.net> |
- Re-allow conditional class declerations. Needless to say that I also - think it's not great coding.. Use polymorphism instead :)
/PHP_5_4/Zend/zend_language_parser.y
|
| 6b87194 |
|
08-Jan-2004 |
Andi Gutmans <andi@php.net> |
- - A belated happy holidays (by two years)
/PHP_5_4/Zend/zend_language_parser.y
|
| 885eafa |
|
27-Dec-2003 |
Marcus Boerger <helly@php.net> |
Fixed bug #26065 (Crash when nesting classes)
/PHP_5_4/Zend/zend_language_parser.y
|
| 535653e |
|
19-Dec-2003 |
Andi Gutmans <andi@php.net> |
- Nuke another rule (thanks to Jan for noticing this)
/PHP_5_4/Zend/zend_language_parser.y
|
| f9f19c9 |
|
19-Dec-2003 |
Andi Gutmans <andi@php.net> |
- Nuke unused code
/PHP_5_4/Zend/zend_language_parser.y
|
| c0df450 |
|
18-Nov-2003 |
Andi Gutmans <andi@php.net> |
- Add E_STRICT, to be used to warn purists (like Jani :)
/PHP_5_4/Zend/zend_language_parser.y
|
| 5307899 |
|
28-Oct-2003 |
Andi Gutmans <andi@php.net> |
- Head up! I'm reverting the patch which allows for expressions in constant - declerations. Allowing the access of other constants in this code is - flawed. We are reverting back to PHP 4's static scalars. - Don't worry if you get the following msg when compiling: - "zend_language_parser.y contains 3 useless nonterminals and 22 useless rules" - I didn't nuke the code in case we have some brilliant ideas after beta 2
/PHP_5_4/Zend/zend_language_parser.y
|
| df033b5 |
|
19-Oct-2003 |
Andi Gutmans <andi@php.net> |
- Nuke const in function parameters. I just can't remember why this exists - and it seems no one else remembers either. It has no semantic meaning.
/PHP_5_4/Zend/zend_language_parser.y
|
| 2ab30d7 |
|
09-Oct-2003 |
Zeev Suraski <zeev@php.net> |
Allow foo::$bar()
/PHP_5_4/Zend/zend_language_parser.y
|
| f8bbafd |
|
03-Aug-2003 |
Zeev Suraski <zeev@php.net> |
ntroduce infrastructure for supplying information about arguments, including: - Whether or not to pass by ref (replaces the old arg_types, with arg_info) - Argument name (for future use, maybe introspection) - Class/Interface name (for type hints) - If a class/interface name is available, whether to allow a null instance Both user and builtin functions share the same data structures. To declare a builtin function that expects its first arg to be an instance of class 'Person', its second argument as a regular arg, and its third by reference, use: ZEND_BEGIN_ARG_INFO(my_func_arg_info, 0) ZEND_ARG_OBJ_INFO(0, someone, Person, 1) ZEND_ARG_PASS_INFO(0) ZEND_ARG_PASS_INFO(1) ZEND_END_ARG_INFO(); and use my_func_arg_info as the arg_info parameter to the ZEND_FE() family of macros. The first arg to each ZEND_ARG_*() macro is whether or not to pass by ref. The boolean arg to ZEND_BEGIN_ARG_INFO() tells the engine whether to treat the arguments for which there's no explicit information as pass by reference or not. The boolean argument to ZEND_ARG_OBJ_INFO() (4th arg) is whether or not to allownull values.
/PHP_5_4/Zend/zend_language_parser.y
|
| 03b6af0 |
|
24-Jul-2003 |
Zeev Suraski <zeev@php.net> |
Support references in foreach() Syntax: foreach ($arr as &$val) foreach ($arr as $key => &$val)
/PHP_5_4/Zend/zend_language_parser.y
|
| cbec89a |
|
22-Jun-2003 |
Zeev Suraski <zeev@php.net> |
Fix complex expressions for class names in NEW
/PHP_5_4/Zend/zend_language_parser.y
|
| f263aec |
|
22-Jun-2003 |
Zeev Suraski <zeev@php.net> |
Simplify
/PHP_5_4/Zend/zend_language_parser.y
|
| c8bebda |
|
21-Jun-2003 |
Marcus Boerger <helly@php.net> |
WS
/PHP_5_4/Zend/zend_language_parser.y
|
| 60c7aba |
|
21-Jun-2003 |
Marcus Boerger <helly@php.net> |
Add final classes
/PHP_5_4/Zend/zend_language_parser.y
|
| 8cd9792 |
|
15-Jun-2003 |
Stanislav Malyshev <stas@php.net> |
Fix bug #23384 - static class::constant constants should now work in static & array expressions.
/PHP_5_4/Zend/zend_language_parser.y
|
| f68c7ff |
|
10-Jun-2003 |
James Cox <imajes@php.net> |
updating license information in the headers.
/PHP_5_4/Zend/zend_language_parser.y
|
| 8d2a4e0 |
|
09-Jun-2003 |
Zeev Suraski <zeev@php.net> |
Fix bogus implicit declarations of properties (squash bug #23671)
/PHP_5_4/Zend/zend_language_parser.y
|
| f7f5a5e |
|
02-Jun-2003 |
Stanislav Malyshev <stas@php.net> |
MEGA-patch: namespaces are R.I.P.
/PHP_5_4/Zend/zend_language_parser.y
|
| 21d32c2 |
|
29-May-2003 |
Marcus Boerger <helly@php.net> |
Fix ~ operator in class constants.
/PHP_5_4/Zend/zend_language_parser.y
|
| 0191ba5 |
|
10-Apr-2003 |
Sterling Hughes <sterling@php.net> |
allow expressions within constants, so the following is possible class foo { const a = 1<<0; const b = 1<<1; const c = a | b; } this makes const a compile-time expression. all other operators are unaffected.
/PHP_5_4/Zend/zend_language_parser.y
|
| 65f06d8 |
|
10-Apr-2003 |
Zeev Suraski <zeev@php.net> |
Revert Harald's commit
/PHP_5_4/Zend/zend_language_parser.y
|
| dd090f4 |
|
10-Apr-2003 |
George Schlossnagle <gschlossnagle@php.net> |
One line fix so that it will compile
/PHP_5_4/Zend/zend_language_parser.y
|
| 07e775b |
|
09-Apr-2003 |
Harald Radi <phanto@php.net> |
removing the *syntactical sugar* again # commiting that on behalf of the community :) # don't blame me, i'm just acting as a proxy
/PHP_5_4/Zend/zend_language_parser.y
|
| bdd3b60 |
|
02-Apr-2003 |
Andrei Zmievski <andrei@php.net> |
Implement a different way to catch documentation comments.
/PHP_5_4/Zend/zend_language_parser.y
|
| e6255b0 |
|
02-Apr-2003 |
Andrei Zmievski <andrei@php.net> |
Revert portions of the doc comment patch. There should be no parser errors now.
/PHP_5_4/Zend/zend_language_parser.y
|
| 59af205 |
|
01-Apr-2003 |
Stanislav Malyshev <stas@php.net> |
Add __NAMESPACE__ auto-constant.
/PHP_5_4/Zend/zend_language_parser.y
|
| 5657b83 |
|
31-Mar-2003 |
Andrei Zmievski <andrei@php.net> |
Multi-purpose patch: - The fields of zend_namespace were not completely initialized which led to a variety of problems. - The occurrence of class/interface/namespace definition is now captured. - Functions/classes/interfaces/namespaces can be preceded by doc comments which are stored for use by extensions.
/PHP_5_4/Zend/zend_language_parser.y
|
| 52372c3 |
|
30-Mar-2003 |
Andrei Zmievski <andrei@php.net> |
Since zend_do_begin_class_member_function_call assumes the previous opcode is FETCH_CONSTANT, swap the calls around.
/PHP_5_4/Zend/zend_language_parser.y
|
| 43e8709 |
|
26-Mar-2003 |
Stanislav Malyshev <stas@php.net> |
Un-nest namespaces - now namespace X { namespace Y {} } is a parse error Also refine namespaced includes
/PHP_5_4/Zend/zend_language_parser.y
|
| 39d5a63 |
|
19-Mar-2003 |
Andrei Zmievski <andrei@php.net> |
- Keep track of starting/ending line numbers for user functions. - Store last parsed doc comment in a compiler global for future use.
/PHP_5_4/Zend/zend_language_parser.y
|
| 12cbee7 |
|
09-Mar-2003 |
Zeev Suraski <zeev@php.net> |
Optimize
/PHP_5_4/Zend/zend_language_parser.y
|
| 0eae231 |
|
09-Mar-2003 |
Zeev Suraski <zeev@php.net> |
Fix handling of ::foo
/PHP_5_4/Zend/zend_language_parser.y
|
| 8bc88d8 |
|
09-Mar-2003 |
Zeev Suraski <zeev@php.net> |
Fix parsing rules of namespaces/classes
/PHP_5_4/Zend/zend_language_parser.y
|
| a89abf9 |
|
09-Mar-2003 |
Zeev Suraski <zeev@php.net> |
Add ability to use ::interface_name in implements
/PHP_5_4/Zend/zend_language_parser.y
|
| 0338111 |
|
06-Mar-2003 |
Zeev Suraski <zeev@php.net> |
Require abstract classes to be explicitly declared 'abstract', in order to avoid making developers traverse the entire class/interface hierarchy before they can figure out whether a class is instantiable (ok, so it makes sense :)
/PHP_5_4/Zend/zend_language_parser.y
|
| ff76511 |
|
06-Mar-2003 |
Zeev Suraski <zeev@php.net> |
Add class type hints
/PHP_5_4/Zend/zend_language_parser.y
|
| 6ad2420 |
|
05-Mar-2003 |
Zeev Suraski <zeev@php.net> |
Implement $obj::static_func()
/PHP_5_4/Zend/zend_language_parser.y
|
| 26dd849 |
|
05-Mar-2003 |
Zeev Suraski <zeev@php.net> |
Add support for interfaces
/PHP_5_4/Zend/zend_language_parser.y
|
| d5ada68 |
|
04-Mar-2003 |
Zeev Suraski <zeev@php.net> |
Remove legacy code
/PHP_5_4/Zend/zend_language_parser.y
|
| 535aa63 |
|
24-Feb-2003 |
Zeev Suraski <zeev@php.net> |
Add 'final'
/PHP_5_4/Zend/zend_language_parser.y
|
| e645f20 |
|
20-Feb-2003 |
Stanislav Malyshev <stas@php.net> |
Allow namespaces to have a number of parts. I.e., now you can do: namespace foo { function abc() {} } ... namespace foo { functio def() {} }
/PHP_5_4/Zend/zend_language_parser.y
|
| 827434c |
|
17-Feb-2003 |
Zeev Suraski <zeev@php.net> |
Whitespace & minor renames
/PHP_5_4/Zend/zend_language_parser.y
|
| 76c6d7e |
|
17-Feb-2003 |
Zeev Suraski <zeev@php.net> |
whitespace
/PHP_5_4/Zend/zend_language_parser.y
|
| 3e45b23 |
|
16-Feb-2003 |
Stanislav Malyshev <stas@php.net> |
add support for ::foo syntax meaning "global one"
/PHP_5_4/Zend/zend_language_parser.y
|
| a4c3b2c |
|
16-Feb-2003 |
Stanislav Malyshev <stas@php.net> |
Namespace patch. Big changes: 1. Nested classes are gone. 2. New syntax for namespaces: namespace foo { class X { ... } function bar { ... } var x = 1; const ZZ = 2; } 3. Namespaced symbol access: $x = new foo::X; - etc. For now, namespaces are case insensitive, just like classes. Also, there can be no global class and namespace with the same name (to avoid ambiguities in :: resolution).
/PHP_5_4/Zend/zend_language_parser.y
|
| 2814504 |
|
11-Feb-2003 |
Zeev Suraski <zeev@php.net> |
Improve parser handling of 'abstract'
/PHP_5_4/Zend/zend_language_parser.y
|
| 6317e26 |
|
10-Feb-2003 |
Zeev Suraski <zeev@php.net> |
- Treat $this->foo inside class X as an implicit 'public $foo' if X::$foo is not explicitly declared - Forbid multiple declaration of the same variable
/PHP_5_4/Zend/zend_language_parser.y
|
| 333406b |
|
01-Feb-2003 |
foobar <sniper@php.net> |
- Added some missing CVS $Id$ tags, headers and footers.
/PHP_5_4/Zend/zend_language_parser.y
|
| c073b76 |
|
14-Jan-2003 |
Andi Gutmans <andi@php.net> |
- Change "is" to "instanceof" as it explains better what the operator means. - "is_a" was also appropriate but ugly.
/PHP_5_4/Zend/zend_language_parser.y
|
| 4bab4a7 |
|
09-Jan-2003 |
Zeev Suraski <zeev@php.net> |
Fix writability checks
/PHP_5_4/Zend/zend_language_parser.y
|
| 32b100e |
|
09-Dec-2002 |
Zeev Suraski <zeev@php.net> |
- Allow variables to have both 'static' modifier and an access level. NOTE: This only works at the syntax level right now (parser). It doesn't actually work as of yet - all statics are considered public for now - Prevent users from putting more restrictions on methods in derived classes (i.e., you cannot make a public method private in a derived class, etc.)
/PHP_5_4/Zend/zend_language_parser.y
|
| dc5c790 |
|
08-Dec-2002 |
Zeev Suraski <zeev@php.net> |
Treat the absence of an access type just as if 'public' was supplied
/PHP_5_4/Zend/zend_language_parser.y
|
| e156edb |
|
07-Dec-2002 |
Zeev Suraski <zeev@php.net> |
Remove unintentional code
/PHP_5_4/Zend/zend_language_parser.y
|
| e062dff |
|
06-Dec-2002 |
Zeev Suraski <zeev@php.net> |
- Implement public/protected/private methods. - Prevent instantiation of classes with abstract methods. Based in part on Marcus's patch.
/PHP_5_4/Zend/zend_language_parser.y
|
| 6aa90a7 |
|
24-Nov-2002 |
Andi Gutmans <andi@php.net> |
- FN_IS_STATIC -> FN_STATIC
/PHP_5_4/Zend/zend_language_parser.y
|
| e8214a3 |
|
23-Nov-2002 |
Andi Gutmans <andi@php.net> |
- Commit Marcus' cleanup of abstract and static inheritance and improve - error messages
/PHP_5_4/Zend/zend_language_parser.y
|
| 227f783 |
|
20-Nov-2002 |
Andi Gutmans <andi@php.net> |
- Fix build (thanks Marcus) - Implement abstract methods, syntax: - abstract function foo($vars); - I don't see any reason why modifiers such as static/public need to be - used with abstract. PHP is weakly typed and there would be no meaning to - this anyway. People who want a strictly typed compiled language are - looking in the wrong place.
/PHP_5_4/Zend/zend_language_parser.y
|
| 830c2e0 |
|
10-Nov-2002 |
Stanislav Malyshev <stas@php.net> |
fix statics - make it behave like $this (fetch type "static") Side effect: indirect references to statics won't work.
/PHP_5_4/Zend/zend_language_parser.y
|
| c497868 |
|
05-Nov-2002 |
Andi Gutmans <andi@php.net> |
- Add support for static methods. Basically methods which are defined as - static don't have $this. That's the whole difference.
/PHP_5_4/Zend/zend_language_parser.y
|
| 983be5c |
|
05-Nov-2002 |
Andi Gutmans <andi@php.net> |
- ATTENTION: Finally nuke old_function and cfunction. I think it is time - to get rid of these BC notations. This is from the days of the move from - PHP/FI 2 -> PHP 3
/PHP_5_4/Zend/zend_language_parser.y
|
| 046bdea |
|
14-Oct-2002 |
Andi Gutmans <andi@php.net> |
- Support new classname::$class_name, e.g.: <? class foo::bar { public $hello = "Hello, World\n"; } $name = "bar"; $obj = new foo::$name; print $obj->hello; ?>
/PHP_5_4/Zend/zend_language_parser.y
|
| d3617c5 |
|
09-Oct-2002 |
Ilia Alshanetsky <iliaa@php.net> |
MFZE1 zend_str_tolower issue.
/PHP_5_4/Zend/zend_language_parser.y
|
| aa7bffe |
|
01-Oct-2002 |
Andi Gutmans <andi@php.net> |
- Fix problem when crashing on illegal tokens in class name during class - definition.
/PHP_5_4/Zend/zend_language_parser.y
|
| ee7b8f9 |
|
26-Sep-2002 |
Ilia Alshanetsky <iliaa@php.net> |
MFZE1
/PHP_5_4/Zend/zend_language_parser.y
|
| f78fa50 |
|
24-Sep-2002 |
Andi Gutmans <andi@php.net> |
- Megapatch to try and support inheritance from sub-classes. Things might - be *very* buggy now so don't get too upset if that happens. - I still need to improve some stuff but it's a good step (hopefully).
/PHP_5_4/Zend/zend_language_parser.y
|
| 8831b9c |
|
23-Sep-2002 |
Andi Gutmans <andi@php.net> |
- MFZE1.
/PHP_5_4/Zend/zend_language_parser.y
|
| b806a8e |
|
14-Aug-2002 |
Jason Greene <jason@php.net> |
MFZE1 (use token instead of global for opcode counting)
/PHP_5_4/Zend/zend_language_parser.y
|
| 52406cb |
|
08-Aug-2002 |
Andi Gutmans <andi@php.net> |
- Make new 'is' operator work with classes only and return false when - the object isn't of the said class or the value isn't an object.
/PHP_5_4/Zend/zend_language_parser.y
|
| 82c72f2 |
|
30-Jul-2002 |
Andrei Zmievski <andrei@php.net> |
@- Adding 'is' operator that can be used to check the type of a variable, @ or its class. (Andrei)
/PHP_5_4/Zend/zend_language_parser.y
|
| 9c52e88 |
|
17-Jul-2002 |
Andi Gutmans <andi@php.net> |
- Rejuggle some code.
/PHP_5_4/Zend/zend_language_parser.y
|
| bc5ea87 |
|
15-Jul-2002 |
Andi Gutmans <andi@php.net> |
- Commit patch to support protected member variables (by Timm Friebe w/ - some fixes by me). - You can't access protected variables from outside the object. If you want - to see a protected member from your ancestors you need to declare the - member as protected in the class you want to use it in. You can't - redeclare a protected variable as private nor the other way around.
/PHP_5_4/Zend/zend_language_parser.y
|
| 7b68f51 |
|
14-Jul-2002 |
Andi Gutmans <andi@php.net> |
- Nuke delete(). It was a big mistake to introduce it and I finally - understand why Java didn't do so. - If you still want to control destruction of your object then either make - sure you kill all references or create a destruction method which you - call yourself.
/PHP_5_4/Zend/zend_language_parser.y
|
| c9f1c9c |
|
07-Jul-2002 |
Sebastian Bergmann <sebastian@php.net> |
Allow for 'class Namespace::Bar extends Foo' syntax. Patch by Timm Friebe <thekid@thekid.de>.
/PHP_5_4/Zend/zend_language_parser.y
|
| 0ae66bd |
|
06-Jul-2002 |
Zeev Suraski <zeev@php.net> |
spelling fix
/PHP_5_4/Zend/zend_language_parser.y
|
| 5f2fcdd |
|
29-Jun-2002 |
Andi Gutmans <andi@php.net> |
- Add missing semi-colon.
/PHP_5_4/Zend/zend_language_parser.y
|
| e2f57d0 |
|
22-Jun-2002 |
Andi Gutmans <andi@php.net> |
- MFZE1
/PHP_5_4/Zend/zend_language_parser.y
|
| b2015c5 |
|
11-Jun-2002 |
Andi Gutmans <andi@php.net> |
- Fix problem with assigning functions by reference.
/PHP_5_4/Zend/zend_language_parser.y
|
| 60ccb41 |
|
10-Apr-2002 |
foobar <sniper@php.net> |
MFZE1
/PHP_5_4/Zend/zend_language_parser.y
|
| e7100e2 |
|
21-Mar-2002 |
Andi Gutmans <andi@php.net> |
- No idea how this slipped in. Fix delete $obj statement.
/PHP_5_4/Zend/zend_language_parser.y
|
| a990c4d |
|
19-Mar-2002 |
Andi Gutmans <andi@php.net> |
- Finish covering all parsed methods to check for validity in parser. - Change zval's refcount to zend_uint (If it doesn't slow down the Engine - too much it should probably stay this way). If anyone has time to test - the difference in speed between zend_ushort & zend_uint in zend.h of - the struct _zval_struct (one line change) I'd be glad to get some - figures.
/PHP_5_4/Zend/zend_language_parser.y
|
| c5ad6ae |
|
18-Mar-2002 |
Andi Gutmans <andi@php.net> |
- More fixes to check for member/function call legality.
/PHP_5_4/Zend/zend_language_parser.y
|
| 46afe61 |
|
17-Mar-2002 |
Andi Gutmans <andi@php.net> |
- Start putting error handling where method calls are being used in a - context where only writable variables should be used.
/PHP_5_4/Zend/zend_language_parser.y
|
| b90d80b |
|
02-Mar-2002 |
Andi Gutmans <andi@php.net> |
- Initial patch to support importing from class scopes (for Stig). - It isn't complete yet but I want to work on it from another machine. It - shouldn't break anything else so just don't try and use it. - The following is a teaser of something that already works: <?php class MyClass { function hello() { print "Hello, World\n"; } class MyClass2 { function hello() { print "Hello, World in MyClass2\n"; } } } import function hello, class MyClass2 from MyClass; MyClass2::hello(); hello(); ?>
/PHP_5_4/Zend/zend_language_parser.y
|
| 90bd453 |
|
01-Mar-2002 |
Andi Gutmans <andi@php.net> |
- Remove use of C++ reserved words namespace/this
/PHP_5_4/Zend/zend_language_parser.y
|
| d1eea3d |
|
01-Mar-2002 |
Andi Gutmans <andi@php.net> |
- Fix bug in nested try/catch's - Infrastructure for implementing imports of methods.
/PHP_5_4/Zend/zend_language_parser.y
|
| 00e90f2 |
|
21-Feb-2002 |
Andi Gutmans <andi@php.net> |
- Experimental support for private members. <? class MyClass { private $Hello = "Hello, World!\n"; function printHello() { print $this->Hello; } } class MyClass2 extends MyClass { function printHello() { MyClass::printHello(); /* Should print */ print $this->Hello; /* Shouldn't print out anything */ } } $obj = new MyClass(); print $obj->Hello; /* Shouldn't print out anything */ $obj->printHello(); /* Should print */ $obj = new MyClass2(); print $obj->Hello; /* Shouldn't print out anything */ $obj->printHello(); ?>
/PHP_5_4/Zend/zend_language_parser.y
|
| 21b04ff |
|
13-Feb-2002 |
Andi Gutmans <andi@php.net> |
@ Allow a series of consecutive catch() statements (Andi, Zend Engine) <?php class MyException1 { } class MyException2 { } try { throw new MyException2(); } catch (MyException1 $m) { print "Caught MyException1"; } catch (MyException2 $m) { print "Caught MyException2"; }
/PHP_5_4/Zend/zend_language_parser.y
|
| 2131b01 |
|
20-Jan-2002 |
Andi Gutmans <andi@php.net> |
- Improve performance of functions that use $GLOBALS[] - Please check this and make sure it doesn't break anything.
/PHP_5_4/Zend/zend_language_parser.y
|
| a0ab80a |
|
19-Jan-2002 |
Thies C. Arntzen <thies@php.net> |
MFZE1
/PHP_5_4/Zend/zend_language_parser.y
|
| f1e8815 |
|
13-Jan-2002 |
Andi Gutmans <andi@php.net> |
- Change exception handling to use the Java-like catch(MyException $exception) - semantics. Example: <?php class MyException { function __construct($exception) { $this->exception = $exception; } function Display() { print "MyException: $this->exception\n"; } } class MyExceptionFoo extends MyException { function __construct($exception) { $this->exception = $exception; } function Display() { print "MyException: $this->exception\n"; } } try { throw new MyExceptionFoo("Hello"); } catch (MyException $exception) { $exception->Display(); } ?>
/PHP_5_4/Zend/zend_language_parser.y
|
| 62dc854 |
|
06-Jan-2002 |
Sebastian Bergmann <sebastian@php.net> |
Happy New Year.
/PHP_5_4/Zend/zend_language_parser.y
|
| ae1a702 |
|
28-Dec-2001 |
Andi Gutmans <andi@php.net> |
- Fix some case insensitivity stuff in respect to classes
/PHP_5_4/Zend/zend_language_parser.y
|
| b14f6cf |
|
28-Dec-2001 |
Andi Gutmans <andi@php.net> |
- Support default arguments for reference parameters - Fix two compile warnings
/PHP_5_4/Zend/zend_language_parser.y
|
| 2ce4b47 |
|
26-Dec-2001 |
Andi Gutmans <andi@php.net> |
- Initial support for _clone()
/PHP_5_4/Zend/zend_language_parser.y
|
| f85c818 |
|
26-Dec-2001 |
Andi Gutmans <andi@php.net> |
- Start fixing the parsing rules so that function and method calls - can't be used in a write context.
/PHP_5_4/Zend/zend_language_parser.y
|
| e1e02af |
|
25-Dec-2001 |
Andi Gutmans <andi@php.net> |
- Revert delete syntax patch
/PHP_5_4/Zend/zend_language_parser.y
|
| 9e7c0d6 |
|
22-Dec-2001 |
Andi Gutmans <andi@php.net> |
- Add initial capability of defining nested classes as class foo::bar
/PHP_5_4/Zend/zend_language_parser.y
|
| 1e56cac |
|
16-Dec-2001 |
Andi Gutmans <andi@php.net> |
- Seems like most people prefer delete($obj) over delete $obj.
/PHP_5_4/Zend/zend_language_parser.y
|
| ac7ed46 |
|
16-Dec-2001 |
Andi Gutmans <andi@php.net> |
- Start adding parsed variable checks.
/PHP_5_4/Zend/zend_language_parser.y
|
| 880e7d8 |
|
16-Dec-2001 |
Andi Gutmans <andi@php.net> |
- Framework for knowing what kind of variable we just parsed. - This will be used in compile-time error checking which couldn't be done - at the level of the grammar.
/PHP_5_4/Zend/zend_language_parser.y
|
| 7c749c1 |
|
13-Dec-2001 |
Andi Gutmans <andi@php.net> |
- Rearrange grammar to allow dereferencing of objects returned from - functions. It still crashes though.
/PHP_5_4/Zend/zend_language_parser.y
|
| 74efc41 |
|
12-Dec-2001 |
Andi Gutmans <andi@php.net> |
- Make classes have scope and function/constant lookups default to the class
/PHP_5_4/Zend/zend_language_parser.y
|
| d863d52 |
|
11-Dec-2001 |
Sebastian Bergmann <sebastian@php.net> |
Update headers.
/PHP_5_4/Zend/zend_language_parser.y
|
| 3bfee89 |
|
10-Dec-2001 |
Andi Gutmans <andi@php.net> |
- More namespaces work. - Nuke memory leak.
/PHP_5_4/Zend/zend_language_parser.y
|
| 4248619 |
|
06-Dec-2001 |
Andi Gutmans <andi@php.net> |
- Initial work on changing namespace scope. Only methods & variables - right now. <? $hey = "Global hey\n"; class foo { static $hey = "Namespace hey\n"; function bar() { print "in foo::bar()\n"; } } function bar() { print "in bar()\n"; } bar(); namespace foo; bar(); namespace; bar(); namespace foo; $bar_indirect = "bar"; $bar_indirect(); namespace; print $hey; namespace foo; print $hey; $hey = "Namespace hey #2\n"; namespace; print $hey; $hey = "Global hey #2\n"; namespace foo; print $hey; ?>
/PHP_5_4/Zend/zend_language_parser.y
|
| fe94f59 |
|
06-Dec-2001 |
Andi Gutmans <andi@php.net> |
- Nuke the namespace work I did. It'll be redone differently.
/PHP_5_4/Zend/zend_language_parser.y
|
| e858d27 |
|
30-Nov-2001 |
Andi Gutmans <andi@php.net> |
- Initial support for class constants. There are still a few semantic - issues which need to be looked into but basically it seems to work. - Example: <?php class foo { const hey = "hello"; } print foo::hey; ?>
/PHP_5_4/Zend/zend_language_parser.y
|
| f289014 |
|
27-Nov-2001 |
Andi Gutmans <andi@php.net> |
- Support syntax for class constants (doesn't do anything yet but - required some reworking of the grammar).
/PHP_5_4/Zend/zend_language_parser.y
|
| 7cd6ccc |
|
26-Nov-2001 |
Andi Gutmans <andi@php.net> |
- Support static $var = 0; style initialization of static class - members. For example: - class foo { - static $my_static = 5; - - } - - print foo::$my_static;
/PHP_5_4/Zend/zend_language_parser.y
|
| d2da63f |
|
25-Nov-2001 |
Andi Gutmans <andi@php.net> |
- Support static members. The following script works: <? class foo { class bar { function init_values() { for ($i=1; $i<10; $i++) { foo::bar::$hello[$i] = $i*$i; } } function print_values() { for ($i=1; $i<10; $i++) { print foo::bar::$hello[$i] . "\n"; } } } } foo::bar::init_values(); foo::bar::print_values(); for ($i=1; $i<10; $i++) { print $hello[$i]?"Shouldn't be printed\n":""; } ?>
/PHP_5_4/Zend/zend_language_parser.y
|
| 9382dde |
|
05-Nov-2001 |
Stig S. Bakken <stig@php.net> |
non-zts compile fix
/PHP_5_4/Zend/zend_language_parser.y
|
| a332f82 |
|
04-Nov-2001 |
Andi Gutmans <andi@php.net> |
- Support instantiation of nested class. The following script now should - work: -<?php - class foo - { - function bar() - { - print "bar() in class bar\n"; - } - - class barbara - { - function bar() - { - print "bar() in class foo::barbara\n"; - } - } - } - - $obj = new foo(); - $obj->bar(); - - $obj = new foo::barbara(); - $obj->bar(); -
/PHP_5_4/Zend/zend_language_parser.y
|
| 26578c3 |
|
29-Oct-2001 |
Andi Gutmans <andi@php.net> |
- Initial support for nested class definitions
/PHP_5_4/Zend/zend_language_parser.y
|
| 2eabb14 |
|
30-Sep-2001 |
Andi Gutmans <andi@php.net> |
- Merge the NAMESPACES_BRANCH. It wasn't a good idea to have a branch when - the whole CVS tree is work in progress
/PHP_5_4/Zend/zend_language_parser.y
|
| d7536a8 |
|
07-Sep-2001 |
Andi Gutmans <andi@php.net> |
- Shift around the variable parsing code to make it simpler.
/PHP_5_4/Zend/zend_language_parser.y
|
| 7c4a0cc |
|
03-Sep-2001 |
Andi Gutmans <andi@php.net> |
- CLS_CC -> TSRMLS_CC
/PHP_5_4/Zend/zend_language_parser.y
|
| 29f5dbe |
|
30-Aug-2001 |
Andi Gutmans <andi@php.net> |
- Initial support for exceptions.
/PHP_5_4/Zend/zend_language_parser.y
|
| 4f6c95d |
|
11-Aug-2001 |
Zeev Suraski <zeev@php.net> |
Whitespace
/PHP_5_4/Zend/zend_language_parser.y
|
| cb1a40f |
|
08-Aug-2001 |
Andi Gutmans <andi@php.net> |
- Preliminary patch for method() dereferencing
/PHP_5_4/Zend/zend_language_parser.y
|
| 5af7770 |
|
07-Aug-2001 |
Andi Gutmans <andi@php.net> |
- Sync Engine2 CVS with latest Engine CVS
/PHP_5_4/Zend/zend_language_parser.y
|
| 8ce8324 |
|
30-Jul-2001 |
Zeev Suraski <zeev@php.net> |
More TSRMLS_FETCH annihilation
/PHP_5_4/Zend/zend_language_parser.y
|
| b4f3b9d |
|
28-Jul-2001 |
Zeev Suraski <zeev@php.net> |
Redesigned thread safety mechanism - nua nua
/PHP_5_4/Zend/zend_language_parser.y
|
| 2c254ba |
|
27-Jul-2001 |
Zeev Suraski <zeev@php.net> |
Get rid of ELS_*(), and use TSRMLS_*() instead. This patch is *bound* to break some files, as I must have had typos somewhere. If you use any uncommon extension, please try to build it...
/PHP_5_4/Zend/zend_language_parser.y
|
| ec6c9f6 |
|
15-Jul-2001 |
Zeev Suraski <zeev@php.net> |
Optimize the parser a bit
/PHP_5_4/Zend/zend_language_parser.y
|
| 73f488b |
|
15-Jul-2001 |
Zeev Suraski <zeev@php.net> |
Allow indirect reference to method names in class::method() construct
/PHP_5_4/Zend/zend_language_parser.y
|
| 1e63f44 |
|
06-May-2001 |
Zeev Suraski <zeev@php.net> |
Support interactive mode in thread-safe builds
/PHP_5_4/Zend/zend_language_parser.y
|
| 5c7a762 |
|
19-Mar-2001 |
Andi Gutmans <andi@php.net> |
- Add support for isset($var1, $var2, $var3); - Will be true only if all - variables are set.
/PHP_5_4/Zend/zend_language_parser.y
|
| baa92cc |
|
15-Mar-2001 |
Andi Gutmans <andi@php.net> |
- Nuke commented code
/PHP_5_4/Zend/zend_language_parser.y
|
| d2c9e80 |
|
26-Feb-2001 |
Andi Gutmans <andi@php.net> |
- Update copyright year
/PHP_5_4/Zend/zend_language_parser.y
|
| 352d23b |
|
05-Dec-2000 |
Andi Gutmans <andi@php.net> |
- Support for $var =& new foo() syntax. This allows you to use objects which create extra references to themselves in the constructor.
/PHP_5_4/Zend/zend_language_parser.y
|
| 464a561 |
|
02-Nov-2000 |
Zeev Suraski <zeev@php.net> |
Missed those
/PHP_5_4/Zend/zend_language_parser.y
|
| ce501c7 |
|
02-Nov-2000 |
Andi Gutmans <andi@php.net> |
- Replace do_exit() with zend_do_exit(). - Problem reported by David Hedbor <david@hedbor.org>
/PHP_5_4/Zend/zend_language_parser.y
|
| 7b0d92d |
|
29-Oct-2000 |
Zeev Suraski <zeev@php.net> |
Unify the names of these last 3 files...
/PHP_5_4/Zend/zend_language_parser.y
|