- Notifications
You must be signed in to change notification settings - Fork20
JavaScript parser written in PHP that generates AST from your code according to ECMAScript specification
License
mck89/peast
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Peast(PHP ECMAScript Abstract Syntax Tree) is a PHP 5.4+ library that parses JavaScript code, according toECMAScript specification, and generates an abstract syntax tree following theESTree standard.
Include the following requirement to your composer.json:
{"require": {"mck89/peast":"dev-master"}}
Runcomposer install
to install the package.
Then in your script include the autoloader and you can start using Peast:
require_once"vendor/autoload.php";$source ="var a = 1";// Your JavaScript code$ast =Peast\Peast::latest($source,$options)->parse();// Parse it!
When Xdebug is enabled and Peast is used to scan code that contains deeply nested functions, this fatal error can appear:
PHP Fatal error: Maximum function nesting level of '512' reached, aborting!
or
PHP Warning: Uncaught Error: Xdebug has detected a possible infinite loop, and aborted your script with a stack depth of '256' frames
To prevent this you can setxdebug.max_nesting_level
to a higher value, such as 512.
Read the documentation for more examples and explanations:
About
JavaScript parser written in PHP that generates AST from your code according to ECMAScript specification