History log of /php-src/Zend/zend_language_parser.y (Results 51 – 75 of 639)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# de7c7efe 06-Jan-2020 Nikita Popov

Unify array and object dereferencability

# 465e6f53 06-Jan-2020 Nikita Popov

Split into fully_dereferencable and array_dereferencable

# cf5689e9 06-Jan-2020 Nikita Popov

Split class_constant from constant production

# 24e365f9 06-Jan-2020 Nikita Popov

Make encapsed strings fully dereferencable

This allows operations that were previously allowed on constant
strings on interpolated strings as well.

# 4cbffd89 01-Feb-2020 Akim Demaille

Clean up the generation of the parsers

Prefer '%define api.value.type' to '#define YYSTYPE', so that Bison
know the type.

Use '%code requires' to declare what is needed to defin

Clean up the generation of the parsers

Prefer '%define api.value.type' to '#define YYSTYPE', so that Bison
know the type.

Use '%code requires' to declare what is needed to define the api.value.type
(that code is output in the generated header before the generated
definition of YYSTYPE).

Prefer '%define api.prefix' inside the grammar file to '-p' outside,
as anyway the functions defined in the file actually use this prefix.

Prefer `%param` to both `%parse-param` and `%lex-param`.

Closes GH-5138

show more ...

# 2127a37b 01-Feb-2020 Akim Demaille

Bison: enable all the warnings and fix them

First, fix 5547d361208d90e12d53bb62bb2ffbbff9b93ca0: the definition of
YFLAGS was not passed into the Makefile: AC_SUBST does not suffice, we

Bison: enable all the warnings and fix them

First, fix 5547d361208d90e12d53bb62bb2ffbbff9b93ca0: the definition of
YFLAGS was not passed into the Makefile: AC_SUBST does not suffice, we
need PHP_SUBST_OLD. While at it, allow to pass variable and value at
the same time.

Then pass -Wall to bison, rather than only -Wempty-rules.

Use %precedence where associativity is useless.

Remove useless %precedence.
GH-5138

show more ...

# 37d0f7d3 30-Jan-2020 Akim Demaille

Use "%empty" in the parsers, instead of comments

The annotation %empty is properly enforced: warnings when it's
missing, and errors when it's inappropriate. Support for %empty was
i

Use "%empty" in the parsers, instead of comments

The annotation %empty is properly enforced: warnings when it's
missing, and errors when it's inappropriate. Support for %empty was
introduced in Bison 3.0.

Pass -Wempty-rule to Bison.

Closes GH-5134

show more ...

# a73df8e5 29-Jan-2020 Nikita Popov

Merge branch 'PHP-7.4'

* PHP-7.4:
Use "%define parse.error verbose"


# 5265fabc 28-Jan-2020 Akim Demaille

Use "%define parse.error verbose"

The YYERROR_VERBOSE macro will no longer be supported in Bison 3.6.
It was superseded by the "%error-verbose" directive in Bison 1.875
(2003-01-01).

Use "%define parse.error verbose"

The YYERROR_VERBOSE macro will no longer be supported in Bison 3.6.
It was superseded by the "%error-verbose" directive in Bison 1.875
(2003-01-01). Bison 2.6 (2012-07-19) clearly announced that support
for YYERROR_VERBOSE would be removed. Note that since Bison 3.0
(2013-07-25), "%error-verbose" is deprecated in favor of "%define
parse.error verbose".

Closes GH-5125.

show more ...

# 1caf0951 13-Jan-2020 Nikita Popov

Handle one more case I missed

# 5d869df7 13-Jan-2020 Nikita Popov

Make class name references use the class_name production

Throw a compile error for "static" references instead, where it
isn't already the case.

Also extract the code that does

Make class name references use the class_name production

Throw a compile error for "static" references instead, where it
isn't already the case.

Also extract the code that does that -- we have quite a few places
where we get a const class ref and require it to be default.

show more ...

# 2a3e37a4 13-Jan-2020 Nikita Popov

Don't use yystrlen()

This is unnecessary and not available when GLR is used.

Revision tags: php-7.4.1, php-7.2.26, php-7.3.13, php-7.4.1RC1, 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, php-7.4.0RC3
# 999e32b6 25-Sep-2019 Nikita Popov

Implement union types

According to RFC: https://wiki.php.net/rfc/union_types_v2

The type representation now makes use of both the pointer payload
and the type mask at the same t

Implement union types

According to RFC: https://wiki.php.net/rfc/union_types_v2

The type representation now makes use of both the pointer payload
and the type mask at the same time. Additionall, zend_type_list is
introduced as a new kind of pointer payload, which is used to store
multiple class types. Each of the class types is a tagged pointer,
which may be either a class name or class entry. The latter is only
used for typed properties, while arguments/returns will instead use
cache slots. A type list can contain a mix of both names and CEs at
the same time, as not all classes may be resolvable.

One thing this is missing is support for union types in arginfo
and stubs, which I want to handle separately.

I've also dropped the special object code from the JIT implementation
for now -- I plan to add this back in a different form at a later time.
For now I did not want to include non-trivial JIT changes together
with large functional changes.

Another possible piece of follow-up work is to implement "iterable"
as an internal alias for "array|Traversable". I believe this will
eliminate quite a few special-cases that had to be implemented.

Closes GH-4838.

show more ...

Revision tags: php-7.2.23, php-7.3.10, php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1
# 8aff6627 09-Sep-2019 Christoph M. Becker

Merge branch 'PHP-7.4'

* PHP-7.4:
new_variable '{' expr '}' is deprecated as well


# bcf9d1e9 09-Sep-2019 Christoph M. Becker

new_variable '{' expr '}' is deprecated as well

Curly brace syntax for accessing array elements and string offsets is
deprecated [1]; this should also be the case for respective `new`

new_variable '{' expr '}' is deprecated as well

Curly brace syntax for accessing array elements and string offsets is
deprecated [1]; this should also be the case for respective `new`
expressions.

This issue has been reported by brzuchal@php.net.

[1] <https://wiki.php.net/rfc/deprecate_curly_braces_array_access>

show more ...

Revision tags: php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9
# a8792887 27-Aug-2019 Nikita Popov

Merge branch 'PHP-7.4'


# e5c7f7100 27-Aug-2019 Nikita Popov

Don't specify precedence for T_INC/T_DEC

As these do not operate on expressions, precedence is meaningless
for them.

Revision tags: php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2
# d4e31cc6 02-Aug-2019 Nikita Popov

Merge branch 'PHP-7.4'


# a4a535d8 02-Aug-2019 Nikita Popov

Merge branch 'PHP-7.3' into PHP-7.4


# e1934f85 02-Aug-2019 Nikita Popov

Merge branch 'PHP-7.2' into PHP-7.3


# 85e8ccd5 02-Aug-2019 Nikita Popov

Fixed bug #78363

Revision tags: php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1
# eb766751 19-Jul-2019 Nikita Popov

Merge branch 'PHP-7.4'


Revision tags: 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, 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
# d574df63 13-Mar-2019 rjhdby

Deprecate alternative array access syntax

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

# 193bcf96 15-Jul-2019 Nikita Popov

Merge branch 'PHP-7.4'


# 9ad094e3 15-Jul-2019 Nikita Popov

Emit T_BAD_CHARACTER for unexpected characters

Avoid having holes in the token stream which are annoying and
inefficient to reconstruct on the consumer side.

12345678910>>...26