ast

pecl install ast

Extension exposing PHP 7 abstract syntax tree

php-ast exports the AST internally used by PHP 7.
php-ast is significantly faster than PHP-Parser, because the AST construction is implemented in C.
However, php-ast may only parse code that is syntactically valid on the version of PHP it runs on.

Maintainer

  • Nikita Popov (lead )
  • Tyson Andre (lead )

Details

Stars: 899
Issue openned: 11
Downloads: 2200021
1.0.7
4 years ago
Download DLL for processor with 64 bits architecture (x64)
PHP 7.4
Loading...
PHP 7.3
Loading...
PHP 7.2
Loading...
Download DLL for processor with 32 bits architecture (x86)
PHP 7.4
Loading...
PHP 7.3
Loading...
PHP 7.2
Loading...
Request a build
Request to the website owner's team the built this extension with this parameters. The result is not guaranteed and can be impossible for many reasons. The extension source code is frequently not upto date with the most recent PHP version.
If you have another code source for this extension, provide it in comment.
Please (or register) to request a build.
Version 1.0.7 change log


- Add the experimental AST version 80
- In AST version 80, support returning `mixed` types as an `AST_TYPE` with type `TYPE_MIXED` instead of an `AST_NAME`.
- In AST version 80, support PHP 8.0 attributes for declarations.
- Support PHP 8.0's Match expressions.
- Support PHP 8.0 constructor property promotion, and allow indicating visibility on AST nodes.
Note that `MODIFIER_PUBLIC` and `ast\AST_PARAM` modifiers had overlap in php 7.4,
so the `MODIFIER_*` modifiers are only included in the provided metadata for php 8.0+

requires:

  • php >=7.0.0
  • pearinstaller >=1.10.0