Nikita Popov
a8bf1c5d8f
Throw ParseException from lexer
...
Primarily to avoid getting fatal errors from token_get_all().
Implemented using a magic E_ERROR token, which the lexer emits to
force a parser failure.
2015-04-02 16:31:17 +02:00
Anatol Belski
663074b6b1
cleanup mod version macros and mod defs, round x
2015-03-23 21:30:22 +01:00
Xinchen Hui
fc33f52d8c
bump year
2015-01-15 23:27:30 +08:00
Xinchen Hui
0579e8278d
bump year
2015-01-15 23:26:37 +08:00
Stanislav Malyshev
b7a7b1a624
trailing whitespace removal
2015-01-10 15:07:38 -08:00
Anatol Belski
bdeb220f48
first shot remove TSRMLS_* things
2014-12-13 23:06:14 +01:00
Johannes Schlüter
d0cb715373
s/PHP 5/PHP 7/
2014-09-19 18:33:14 +02:00
Dmitry Stogov
bccc653185
Avoid double IS_INTERNED() check
2014-09-19 17:32:50 +04:00
Anatol Belski
c3e3c98ec6
master renames phase 1
2014-08-25 19:24:55 +02:00
Anatol Belski
58aa0f8df8
fixes to tokenizer
2014-08-19 13:05:20 +02:00
Anatol Belski
63d3f0b844
basic macro replacements, all at once
2014-08-19 08:07:31 +02:00
Dmitry Stogov
050d7e38ad
Cleanup (1-st round)
2014-04-15 15:40:40 +04:00
Nikita Popov
c6eba25571
Port tokenizer extension
2014-04-10 11:44:45 +02:00
Xinchen Hui
c081ce628f
Bump year
2014-01-03 11:08:10 +08:00
Xinchen Hui
a666285bc2
Happy New Year
2013-01-01 16:37:09 +08:00
Nikita Popov
4cf90e06c9
Fix lexing of nested heredoc strings in token_get_all()
...
This fixes bug #60097 .
Before two global variables CG(heredoc) and CG(heredoc_len) were used to
track the current heredoc label. In order to support nested heredoc
strings the *previous* heredoc label was assigned as the token value of
T_START_HEREDOC and the language_parser.y assigned that to CG(heredoc).
This created a dependency of the lexer on the parser. Thus the
token_get_all() function, which accesses the lexer directly without
also running the parser, was not able to tokenize nested heredoc strings
(and leaked memory). Same applies for the source-code highlighting
functions.
The new approach is to maintain a heredoc_label_stack in the lexer, which
contains all active heredoc labels.
As it is no longer required, T_START_HEREDOC and T_END_HEREDOC now don't
carry a token value anymore.
In order to make the work with zend_ptr_stack in this context more
convenient I added a new function zend_ptr_stack_top(), which retrieves the
top element of the stack (similar to zend_stack_top()).
2012-03-31 21:53:30 +02:00
Felipe Pena
8775a37559
- Year++
2012-01-01 13:15:04 +00:00
Stanislav Malyshev
0d591e599f
Fixed bug #54084 (token_get_all with regards to __halt_compiler is not binary safe)
2011-11-08 04:59:17 +00:00
Felipe Pena
da376383e8
- Make usage of new PHP_FE_END macro
2011-07-25 11:35:02 +00:00
Ilia Alshanetsky
1d984a7ffd
Fixed bug #54089 (token_get_all() does not stop after __halt_compiler).
2011-02-28 15:18:27 +00:00
Felipe Pena
0203cc3d44
- Year++
2011-01-01 02:17:06 +00:00
Johannes Schlüter
27299b7e40
- token_get_all now returns false on error, not "", returns array on success
2010-05-30 09:34:02 +00:00
Sebastian Bergmann
9ba1e81665
sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php
2010-01-03 09:23:27 +00:00
Dmitry Stogov
bcd9099b28
Fixed bug #47038 (Memory leak in include)
2009-03-25 15:23:58 +00:00
Sebastian Bergmann
08659c2dcd
MFH: Bump copyright year, 3 of 3.
2008-12-31 11:15:49 +00:00
Felipe Pena
fc2fb50d09
- MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro
2008-11-17 11:28:01 +00:00
Felipe Pena
7a37fa2d6b
- Revert ZEND_BEGIN_ARG_INFO change
2008-11-02 21:19:39 +00:00
Felipe Pena
df10005563
- MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro
2008-10-24 14:35:40 +00:00
Dmitry Stogov
478acfd8b4
. 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)
2008-07-26 15:30:28 +00:00
Moriyoshi Koizumi
bb35ab45bb
- MFH: suppress signedness warnings
2008-07-25 03:42:01 +00:00
Felipe Pena
f2d0da3c29
- Fixed folding
2008-06-23 17:28:06 +00:00
Felipe Pena
ca0166605c
- Added arginfo
2008-06-23 17:17:46 +00:00
Dmitry Stogov
8d260b6b71
Fixed memory leak
2008-06-11 07:45:44 +00:00
Marcus Boerger
af316021e8
- Rewrite scanner to be based on re2c instead of flex
...
The full patch is available as:
http://php.net/~helly/php-re2c-5.3-20080316.diff.txt
This is against php-re2c repository version 98
An older patch against version 97 is available under:
http://php.net/~helly/php-re2c-97-20080316.diff.txt
2008-03-16 21:06:55 +00:00
Dmitry Stogov
82b31e01ae
Added NOWDOC
2008-02-12 09:28:01 +00:00
Sebastian Bergmann
d1dded8751
MFH: Bump copyright year, 2 of 2.
2007-12-31 07:17:19 +00:00
Dmitry Stogov
6c810b0d4c
Improved memory usage by movig constants to read only memory. (Dmitry, Pierre)
2007-09-27 18:00:48 +00:00
Johannes Schlüter
8566193449
- MFH: Use a script to generate tokenizer data from zend_language_parser.h
2007-07-31 23:24:11 +00:00
Dmitry Stogov
80d2409fd8
Improved compilation of heredocs and interpolated strings. (Matt, Dmitry)
2007-05-18 13:12:05 +00:00
Johannes Schlüter
8591b20d4e
- MFH: Added linenumbers to array returned by token_get_all()
2007-04-08 00:18:38 +00:00
Antony Dovgal
e8d2c9489d
MFH: nuke skeleton leftovers
2007-01-12 12:17:32 +00:00
Sebastian Bergmann
4223aa4d5e
MFH: Bump year.
2007-01-01 09:36:18 +00:00
Ilia Alshanetsky
f496f5014a
Removed pointless callbacks.
2006-06-20 22:39:15 +00:00
Dmitry Stogov
1dbaae2795
Added automatic module globals management
2006-06-15 18:33:09 +00:00
foobar
5bd93221a8
bump year and license version
2006-01-01 12:51:34 +00:00
foobar
3e669bc950
MFH: nuke php3 legacy
2005-12-06 02:28:41 +00:00
Ilia Alshanetsky
331726338b
tokenizer fixes for bug #35382
...
Bug fixing news
2005-11-27 06:41:32 +00:00
foobar
592e78ab87
MFH: - Fixed bug #35179 (tokenizer extension needs T_HALT_COMPILER)
2005-11-10 07:50:59 +00:00
Dmitry Stogov
7c3bdf444d
Fixed bug #34782 (token_get_all() gives wrong result)
2005-10-21 09:32:40 +00:00
foobar
23e671a51e
- Bumber up year
2005-08-03 14:08:58 +00:00