Commit Graph

115 Commits

Author SHA1 Message Date
Marcus Boerger
dc7cb19993 - Remove all for now
# - the optimization part can be done in apc or compareable products
# - NULL can be reintroduced later when needed
2004-08-02 16:38:09 +00:00
Sara Golemon
d96e7a170c Revert goto opcode 2004-07-29 17:45:31 +00:00
Sara Golemon
5865b3680a Add goto operator by popular request. 2004-07-29 15:23:47 +00:00
Marcus Boerger
86d46f7cc1 - Speed up by making null/false/true reserved word which allows to drop
an opcode (FETCH_CONSTANT) for every usage.
2004-07-16 06:50:57 +00:00
Marcus Boerger
afc5a6145c Need {} here 2004-06-14 19:09:42 +00:00
Marcus Boerger
4da11644de - Require a single white-space char after /** to start a doc comment that
way we prevent /*** from becoming a doc comment (as requested Derick).
2004-06-10 13:38:31 +00:00
Marcus Boerger
eefdd0ea49 Do not require NEWLINE at start of doccomment 2004-06-10 11:40:34 +00:00
Derick Rethans
b2ac395957 - Remove old and deprecated <?php_track_vars?> scanner token. 2004-03-25 21:11:57 +00:00
Moriyoshi Koizumi
c0aabb79b2 - Fix memleak when scanner is called from within tokenizer extension.
# (only happens with zend multibyte feature enabled)
2004-03-04 22:50:55 +00:00
Marcus Boerger
059c533b4a Fix __METHOD__ (noticed by Davey Sahfik) 2004-02-26 19:59:49 +00:00
Zeev Suraski
60bb89c505 Abort on parse error in an include file (patch by Ilia) 2004-02-03 14:32:02 +00:00
Zeev Suraski
9e60cb553f 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()
2004-02-03 12:17:09 +00:00
Zeev Suraski
8e30d96ad8 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)
2004-02-02 12:28:19 +00:00
foobar
796938ec7f Nuke compile warning by using the LANG_SCNG macro instead 2004-01-17 00:26:12 +00:00
Wez Furlong
910e20064a TSRMLS fix 2004-01-11 21:39:40 +00:00
Andi Gutmans
e69f4f6f25 - This should fix the problem of conditional function decleration on the
- same line of code not to work. You should re-evaluate your coding style
- if you really code this way :)
2004-01-11 19:27:13 +00:00
Andi Gutmans
6b87194bd9 - - A belated happy holidays (by two years) 2004-01-08 08:23:23 +00:00
Ilia Alshanetsky
99dec6927c Fixed bug #26463 (Incorrect handling of semicolons after heredoc) 2003-11-29 19:05:14 +00:00
Ilia Alshanetsky
10def9a8ae Added missing format. 2003-09-22 04:21:44 +00:00
Masaki Fujimoto
ab9dcec292 - added script encoding support to Zend Engine 2.
this enables ZE2 to gracefully parse scripts written in UTF-8 (with BOM),
  UTF-16, UTF-32, Shift_JIS, ISO-2022-JP etc... (when configured with
  '--enable-zend-multibyte' and '--enable-mbstring')
2003-08-11 05:24:42 +00:00
Stanislav Malyshev
399db3c846 fix crash #24550 2003-07-27 12:25:50 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Stanislav Malyshev
f7f5a5ea6b MEGA-patch: namespaces are R.I.P. 2003-06-02 12:13:11 +00:00
Marcus Boerger
afb748d17a CS 2003-05-29 12:59:43 +00:00
Marcus Boerger
955460a319 Add pseudo constant __METHOD__ to easily report namespace::class::method.
# This is especially good for tests. Since it does not draw away from the
# real issues and nicely reports what is needed to identify a method.
2003-05-26 20:45:22 +00:00
foobar
c0cde196d7 Fixed bug #21820 ("$arr[foo]" generates bogus E_NOTICE, should be E_PARSE) 2003-04-25 10:13:51 +00:00
Zeev Suraski
65f06d8027 Revert Harald's commit 2003-04-10 04:43:42 +00:00
Harald Radi
07e775bcde removing the *syntactical sugar* again
# commiting that on behalf of the community :)
# don't blame me, i'm just acting as a proxy
2003-04-09 20:23:06 +00:00
foobar
0abeba5895 Fixed bug #23093 (highlight_string() crashed with __FUNCTION__) 2003-04-07 22:51:28 +00:00
Andrei Zmievski
bdd3b6042c Implement a different way to catch documentation comments. 2003-04-02 16:51:49 +00:00
Andrei Zmievski
e6255b06b1 Revert portions of the doc comment patch. There should be no parser
errors now.
2003-04-02 16:13:12 +00:00
Stanislav Malyshev
59af205988 Add __NAMESPACE__ auto-constant. 2003-04-01 09:22:41 +00:00
Andrei Zmievski
5657b83691 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.
2003-03-31 20:42:01 +00:00
Shane Caraveo
0a3ca34e87 fix crash in win32 debug build 2003-03-22 21:22:40 +00:00
Andrei Zmievski
39d5a63803 - Keep track of starting/ending line numbers for user functions.
- Store last parsed doc comment in a compiler global for future use.
2003-03-19 21:17:47 +00:00
Andi Gutmans
b3ebb11549 - Nuke junk 2003-03-09 21:12:12 +00:00
Zeev Suraski
26dd8492ed Add support for interfaces 2003-03-05 11:14:44 +00:00
Zeev Suraski
535aa63293 Add 'final' 2003-02-24 12:05:58 +00:00
Zeev Suraski
955636af69 Avoid using a C++ reserved word 2003-02-18 17:18:28 +00:00
Wez Furlong
e52aac940f Implement simple stream support in the ZE scanners. 2003-02-18 09:37:54 +00:00
Stanislav Malyshev
a4c3b2ce80 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).
2003-02-16 11:12:43 +00:00
Harald Radi
3341568c09 MFB PHP_4_3 2003-02-13 16:46:53 +00:00
Sebastian Bergmann
729e470ced Fix build. 2003-02-01 07:32:09 +00:00
foobar
333406bdc2 - Added some missing CVS $Id$ tags, headers and footers. 2003-02-01 01:49:15 +00:00
Andi Gutmans
c073b76aac - Change "is" to "instanceof" as it explains better what the operator means.
- "is_a" was also appropriate but ugly.
2003-01-14 21:29:23 +00:00
Zeev Suraski
cf05f34c66 MFZE1 - lineno fix 2003-01-05 16:09:59 +00:00
Ilia Alshanetsky
11dbaa39d6 MFZE2 2002-12-14 23:56:44 +00:00
Zeev Suraski
e156edb1d0 Remove unintentional code 2002-12-07 15:52:08 +00:00
Zeev Suraski
e062dffe6c - Implement public/protected/private methods.
- Prevent instantiation of classes with abstract methods.
Based in part on Marcus's patch.
2002-12-06 17:09:44 +00:00
Andi Gutmans
227f7838d6 - 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.
2002-11-20 18:00:23 +00:00