History log of /PHP-8.0/Zend/zend_language_scanner.l (Results 51 – 75 of 474)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


# f3e5bbe6 02-May-2019 Nikita Popov

Implement arrow functions

Per RFC: https://wiki.php.net/rfc/arrow_functions_v2

Co-authored-by: Levi Morrison <levim@php.net>
Co-authored-by: Bob Weinand <bobwei9@hotmail.com>


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
# 7f72d771 28-Mar-2019 Nikita Popov

Revert "Switch to bison location tracking"

This reverts commit e528762c1c59bc0bd0bd6d78246c14269630cf0f.

Dmitry reports that this has a non-trivial impact on parsing
overhead, e

Revert "Switch to bison location tracking"

This reverts commit e528762c1c59bc0bd0bd6d78246c14269630cf0f.

Dmitry reports that this has a non-trivial impact on parsing
overhead, especially on 32-bit systems. As we don't have a strong
need for this change right now, I'm reverting it.

See also comments on
https://github.com/php/php-src/commit/e528762c1c59bc0bd0bd6d78246c14269630cf0f.

show more ...


Revision tags: php-7.3.4RC1, php-7.2.17RC1
# e528762c 15-Mar-2019 Nikita Popov

Switch to bison location tracking

Locations for AST nodes are now tracked with the help of bison
location tracking. This is more accurate than what we currently do
and easier to exte

Switch to bison location tracking

Locations for AST nodes are now tracked with the help of bison
location tracking. This is more accurate than what we currently do
and easier to extend with more information.

A zend_ast_loc structure is introduced, which is used for the location
stack. Currently it only holds the start lineno, but can be extended
to also hold end lineno and offset/column information in the future.

All AST constructors now accept a zend_ast_loc* as first argument, and
will use it to determine their lineno. Previously this used either the
CG(zend_lineno), or the smallest AST lineno of child nodes.

On the parser side, the location structure for a whole rule can be
obtained using the &@$ character salad.

show more ...


# 9499484e 14-Mar-2019 Dmitry Stogov

Implemented a faster way to access predefined TSRM resources - CG(), EG(), etc.


Revision tags: php-7.1.27, php-7.3.3, php-7.2.16
# 723acab6 19-Feb-2019 Dmitry Stogov

Fixed memory leak


Revision tags: php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2
# a81202ac 30-Jan-2019 Zeev Suraski

Adios, yearly copyright ranges


# 02557f87 30-Jan-2019 Zeev Suraski

Adios, yearly copyright ranges


Revision tags: php-7.2.15RC1, php-7.3.2RC1
# a50198d0 15-Jan-2019 Nikita Popov

Implement ??= operator

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

$a ??= $b is $a ?? ($a = $b), with the difference that $a is only
evaluated once, to the degree

Implement ??= operator

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

$a ??= $b is $a ?? ($a = $b), with the difference that $a is only
evaluated once, to the degree that this is possible. In particular
in $a[foo()] ?? $b function foo() is only ever called once.
However, the variable access themselves will be reevaluated.

show more ...


Revision tags: 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


# 54dc07f3 01-Nov-2018 Zeev Suraski

Update email addresses. We're still @Zend, but future proofing it...


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
# 26065662 02-Oct-2018 Dmitry Stogov

Rename ZEND_ACC_NO_RT_ARENA into ZEND_ACC_HEAP_RT_CACHE and use it for pseudo-main op_arrays.


Revision tags: php-7.1.23RC1, php-7.2.11RC1, php-7.3.0RC2
# b189c243 17-Sep-2018 Peter Kokot

Remove HAVE_STDARG_H

The C89 standard and later defines the `<stdarg.h>` header as part of
the standard headers [1]. On current systems it is always present and
can be included uncon

Remove HAVE_STDARG_H

The C89 standard and later defines the `<stdarg.h>` header as part of
the standard headers [1]. On current systems it is always present and
can be included unconditionally.

Checking for presence and functionality of the `<stdarg.h>` header and
variadic function is not relevant anymore on current systems since this
is always available.

Also Autoconf suggests relying on at least C89 or above [2] and [3].

The following files were regenerated with re2c 1.0.3:
- Zend/zend_language_scanner.c
- Zend/zend_language_scanner_defs.h

Refs:
[1] https://port70.net/~nsz/c/c89/c89-draft.html#4.1.2
[2] http://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4
[3] https://www.gnu.org/software/autoconf/manual/autoconf-2.69/autoconf.html

show more ...


Revision tags: 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


12345678910>>...19