#
af14fdb2 |
| 21-Feb-2024 |
Nikita Popov |
Avoid cyclic reference in parser Pass $this as an explicit $self argument to the reduce callbacks, so we can make them static. This avoids a circular reference in the parser, so that
Avoid cyclic reference in parser Pass $this as an explicit $self argument to the reduce callbacks, so we can make them static. This avoids a circular reference in the parser, so that it can be immediately destroyed when it goes out of scope. Fixes #980.
show more ...
|
#
d8e80653 |
| 23-Sep-2023 |
Nikita Popov |
Don't parse unicode escapes for PHP < 7.0 We still had the option for this but were hardcoding it to true. Make it conditional on the PHP version instead.
|
#
b20267c5 |
| 09-Jul-2023 |
Nikita Popov |
Make use of default actions For the default action $$ = $1, save the closure invocation.
|
#
48f470ea |
| 11-Sep-2022 |
Nikita Popov |
Add missing return types
|
#
f62b2bfd |
| 28-Aug-2022 |
Nikita Popov |
Introduce separate Modifiers class Use PhpParser\Modifiers::PUBLIC instead of PhpParser\Node\Stmt\Class_::MODIFIER_PUBLIC, etc. Old constants of course remain available. Fix
Introduce separate Modifiers class Use PhpParser\Modifiers::PUBLIC instead of PhpParser\Node\Stmt\Class_::MODIFIER_PUBLIC, etc. Old constants of course remain available. Fixes #476.
show more ...
|
#
050342b5 |
| 04-Jul-2022 |
MathiasReker |
Add visibility modifiers to constants Closes GH-848.
|
#
0ea134a5 |
| 19-Jun-2022 |
Nikita Popov |
Add PHP 8 parser with correct concatenation precedence The PHP 7 and PHP 8 parsers use the same grammar file and only differ in token precedence.
|
#
a38a60b7 |
| 19-Jun-2022 |
Nikita Popov |
Move Tokens::T_* to Php7::T_* Drop the separate tokens class, move them into the parser.
|
#
bdd131d3 |
| 05-Jun-2022 |
Nikita Popov |
Add missing strict_types=1 directive to parser
|
Revision tags: v4.3.0, v4.2.5, v4.2.4, v4.2.3, v4.2.2, v4.2.1, v4.2.0, v4.1.1, v4.1.0, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v3.1.5, v4.0.0beta1, v3.1.4, v4.0.0alpha3, v3.1.3 |
|
#
a75164c7 |
| 12-Nov-2017 |
Nikita Popov |
Rename YYNLSTATES to numNonLeafStates
|
Revision tags: v4.0.0alpha2, v3.1.2, v4.0.0alpha1, v3.1.1, v3.1.0, v3.0.6, v3.0.5, v3.0.4 |
|
#
8f623fb2 |
| 05-Feb-2017 |
Nikita Popov |
Use closures instead of methods for semantic actions The dispatch using $this->{'reduceRule' . $rule}() is very expensive because it involves * One allocation when converting $rule
Use closures instead of methods for semantic actions The dispatch using $this->{'reduceRule' . $rule}() is very expensive because it involves * One allocation when converting $rule to a string * Another allocation when concatenating the two strings * Lowercasing during the method call * Various uncached method checks, e.g. visibility. Using an array of closures for semantic action dispatch is significantly more efficient.
show more ...
|
#
3bbf8d8f |
| 04-Feb-2017 |
Nikita Popov |
Use local var for $stackPos We're accessing $this->stackPos a lot, and property accesses are much more expensive than local variable acesses. Its cheaper to use a local var and pass
Use local var for $stackPos We're accessing $this->stackPos a lot, and property accesses are much more expensive than local variable acesses. Its cheaper to use a local var and pass it as an argument to semantic actions.
show more ...
|
Revision tags: v3.0.3, v3.0.2, v3.0.1, v3.0.0, v3.0.0beta2, v3.0.0beta1, v2.1.1, v3.0.0alpha1, v2.1.0, v2.0.1, v2.0.0, v2.0.0beta1, v1.4.1, v2.0.0alpha1, v1.4.0 |
|
#
bc21514e |
| 13-Jun-2015 |
Nikita Popov |
Move token constants into separate class As these are shared between Php5 and Php7 parsers they should be in some common place, otherwise we'd have to always reference either one or
Move token constants into separate class As these are shared between Php5 and Php7 parsers they should be in some common place, otherwise we'd have to always reference either one or the other.
show more ...
|