History log of /PHP-7.3/Zend/zend_language_scanner.l (Results 1 – 25 of 419)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# e8d36ce7 04-Sep-2020 Nikita Popov

Avoid duplicate octal warning during heredoc scan ahead


# 06ade155 05-Aug-2020 Pieter van den Ham

Fix #79934: CRLF-only line in heredoc causes parsing error

Fixes the function `next_newline()` in zend_language_scanner.l. The
function now correctly returns a newline_len of 2 for "\r\n

Fix #79934: CRLF-only line in heredoc causes parsing error

Fixes the function `next_newline()` in zend_language_scanner.l. The
function now correctly returns a newline_len of 2 for "\r\n".

Closes GH-5944.

show more ...


# 6c48da9a 28-Feb-2020 Nikita Popov

Fixed bug #79062

Back up the doc comment when performing heredoc scanahead.


Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1
# 239e2dda 04-Oct-2019 Nikita Popov

Make sure T_ERROR is returned for all lexer exceptions

This originally manifested as a leak in oss-fuzz #18000. The following
is a reduced test case:

<?php
[

Make sure T_ERROR is returned for all lexer exceptions

This originally manifested as a leak in oss-fuzz #18000. The following
is a reduced test case:

<?php
[
5 => 1,
"foo" > 1,
" " => "" == 0
];
<<<BAR
$x
BAR;

Because this particular error condition did not return T_ERROR,
EG(exception) was set while performing binary operation constant
evaluation, which checks exceptions for cast failures.

Instead of adding this indirect test case, I'm adding an assertion
that the lexer has to return T_ERROR if EG(exception) is set.

show more ...


Revision tags: php-7.4.0RC3
# 7df50ef1 28-Sep-2019 Nikita Popov

Don't throw warnings during heredoc scan-ahead

Otherwise these warnings will turn up twice (or more...)


Revision tags: php-7.2.23, php-7.3.10, php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9
# 31070884 21-Aug-2019 Christoph M. Becker

Fix #78441: Parse error due to heredoc identifier followed by digit

Since digits are allowed for identifiers, we have to cater to them as
well.


Revision tags: php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3, php-7.3.7, php-7.2.20, php-7.4.0alpha2, php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1, php-7.2.19, php-7.3.6, php-7.1.30, php-7.2.19RC1, php-7.3.6RC1
# b6b15fc6 09-May-2019 Theodore Brown

Fix #77993: Wrong parse error for invalid hex literal on Windows

If a PHP file contains an invalid hex literal such as `0x_10`, the expected error
is `Parse error: syntax error, unexpect

Fix #77993: Wrong parse error for invalid hex literal on Windows

If a PHP file contains an invalid hex literal such as `0x_10`, the expected error
is `Parse error: syntax error, unexpected 'x_10' (T_STRING) in %s on line %d`.

This already worked correctly on Linux, but on Windows prior to this patch a different
error was produced: `Parse error: Invalid numeric literal in %s on line %d`.

show more ...


Revision tags: php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1, php-7.2.17, php-7.3.4, php-7.1.28, php-7.3.4RC1, php-7.2.17RC1, php-7.1.27, php-7.3.3, php-7.2.16, php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2, php-7.2.15RC1, php-7.3.2RC1, php-5.6.40, php-7.1.26, php-7.3.1, php-7.2.14, php-7.2.14RC1, php-7.3.1RC1, php-5.6.39, php-7.1.25, php-7.2.13, php-7.0.33, php-7.3.0, php-7.1.25RC1, php-7.2.13RC1, php-7.3.0RC6, php-7.1.24, php-7.2.12, php-7.3.0RC5
# 9afce019 01-Nov-2018 Zeev Suraski

Future-proof email addresses


Revision tags: php-7.1.24RC1, php-7.2.12RC1, php-7.3.0RC4
# 01948f20 10-Oct-2018 Nikita Popov

Fixed bug #76991

Back up exceptions while the scan-ahead loop, to avoid an early
bail out.


Revision tags: php-7.1.23, php-7.2.11, php-7.3.0RC3, php-7.1.23RC1, php-7.2.11RC1, php-7.3.0RC2, php-5.6.38, php-7.1.22, php-7.3.0RC1, php-7.2.10, php-7.0.32, php-7.1.22RC1, php-7.3.0beta3, php-7.2.10RC1, php-7.1.21, php-7.2.9, php-7.3.0beta2, php-7.1.21RC1, php-7.3.0beta1, php-7.2.9RC1, php-5.6.37, php-7.1.20, php-7.3.0alpha4, php-7.0.31, php-7.2.8, php-7.1.20RC1, php-7.2.8RC1, php-7.3.0alpha3
# 8d3f8ca1 03-Jul-2018 Peter Kokot

Remove unused Git attributes ident

The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
use

Remove unused Git attributes ident

The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
user who changed it.

In Git this functionality is different and can be done with Git attribute
ident. These need to be defined manually for each file in the
.gitattributes file and are afterwards replaced with 40-character
hexadecimal blob object name which is based only on the particular file
contents.

This patch simplifies handling of $Id$ keywords by removing them since
they are not used anymore.

show more ...


# 4a475a49 04-Jul-2018 Dmitry Stogov

Replace legacy zval_dtor() by zval_ptr_dtor_nogc() or even more specialized destructors.
zval_dtor() doesn't make a lot of sense in PHP-7.* and it's used incorrectly in some places.
Its occur

Replace legacy zval_dtor() by zval_ptr_dtor_nogc() or even more specialized destructors.
zval_dtor() doesn't make a lot of sense in PHP-7.* and it's used incorrectly in some places.
Its occurances should be replaced by zval_ptr_dtor() or zval_ptr_dtor_nogc(), or even more specialized destructors.

show more ...


# 17afe643 27-Jun-2018 Nikita Popov

Fixed bug #76439


Revision tags: php-7.3.0alpha2, php-7.1.19, php-7.2.7
# 7f196c45 18-Jun-2018 Xinchen Hui

use defined macro


Revision tags: php-7.1.19RC1, php-7.3.0alpha1, php-7.2.7RC1
# 5eb1f92f 28-May-2018 Dmitry Stogov

Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence.


Revision tags: php-7.1.18, php-7.2.6, php-7.2.6RC1, php-7.1.18RC1
# 524f5245 08-May-2018 Dmitry Stogov

Avoid useless checks, using zend_string_efree(), in cases where the string is known to be a temporary allocated zend_string.


Revision tags: php-5.6.36, php-7.2.5, php-7.1.17, php-7.0.30, php-7.1.17RC1, php-7.2.5RC1, php-5.6.35, php-7.0.29, php-7.2.4, php-7.1.16, php-7.1.16RC1, php-7.2.4RC1, php-7.1.15, php-5.6.34, php-7.2.3, php-7.0.28, php-7.2.3RC1, php-7.1.15RC1, php-7.1.14, php-7.2.2, php-7.1.14RC1, php-7.2.2RC1, php-7.1.13, php-5.6.33, php-7.2.1, php-7.0.27, php-7.2.1RC1, php-7.1.13RC1, php-7.0.27RC1, php-7.2.0, php-7.1.12, php-7.0.26, php-7.1.12RC1, php-7.2.0RC6, php-7.0.26RC1, php-7.1.11, php-5.6.32, php-7.2.0RC5, php-7.0.25, php-7.1.11RC1, php-7.2.0RC4, php-7.0.25RC1, php-7.1.10, php-7.2.0RC3, php-7.0.24
# 48873572 15-Sep-2017 Thomas Punt

Implement flexible heredoc/nowdoc syntax

RFC: https://wiki.php.net/rfc/flexible_heredoc_nowdoc_syntaxes

* The ending label no longer has to be followed by a semicolon or
newli

Implement flexible heredoc/nowdoc syntax

RFC: https://wiki.php.net/rfc/flexible_heredoc_nowdoc_syntaxes

* The ending label no longer has to be followed by a semicolon or
newline. Any non-label character is fine.
* The ending label may be indented. The indentation will be stripped
from all lines in the heredoc/nowdoc string.

Lexing of heredoc strings performs a scan-ahead to determine the
indentation of the ending label, so that the correct amount of
indentation can be removed when calculting the semantic values for
use by the parser. This makes the implementation quite a bit more
complicated than we would like :/

show more ...


# 4bbf200b 15-Mar-2018 Dmitry Stogov

Optmized AST creation


# bcacb754 14-Mar-2018 Dmitry Stogov

PHP scanner optimization


# 53b47450 14-Mar-2018 Dmitry Stogov

PHP scanner optimization


# 8afb91cd 13-Mar-2018 Dmitry Stogov

PHP scanner optimization


# d1585a9e 13-Mar-2018 Dmitry Stogov

Revert "Handle scanner error in first place (don't hide them from ext/tokenizer) and cheaper whitespace handlig."

This reverts commit 0d6da03f5c3e49b92cf6817ba8a7f8d6f60ee1aa.


# 0d6da03f 13-Mar-2018 Dmitry Stogov

Handle scanner error in first place (don't hide them from ext/tokenizer) and cheaper whitespace handlig.


# 20866891 17-Jan-2018 Dmitry Stogov

Eliminate duplication


# a6519d05 02-Jan-2018 Xinchen Hui

year++


# 7a7ec01a 02-Jan-2018 Xinchen Hui

year++


12345678910>>...17