History log of /PHP_5_4/Zend/zend_language_parser.y
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c0d060f 03-Jan-2014 Xinchen Hui <laruence@php.net> Bump year
/PHP_5_4/Zend/zend_language_parser.y
a486250 25-Mar-2013 Xinchen Hui <laruence@php.net> Fixed bug #64503 (Compilation fails with error: conflicting types for 'zendparse').
/PHP_5_4/Zend/zend_language_parser.y
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