Table of Contents
Guide
Component documentation
-
Walking the AST
- Node visitors
- Modifying the AST from a visitor
- Short-circuiting traversals
- Interleaved visitors
- Simple node finding API
- Parent and sibling references
-
Name resolution
- Name resolver options
- Name resolution context
-
Pretty printing
- Converting AST back to PHP code
- Customizing formatting
- Formatting-preserving code transformations
-
AST builders
- Fluent builders for AST nodes
-
Lexer
- Lexer options
- Token and file positions for nodes
- Custom attributes
-
Error handling
- Column information for errors
- Error recovery (parsing of syntactically incorrect code)
-
Constant expression evaluation
- Evaluating constant/property/etc initializers
- Handling errors and unsupported expressions
-
JSON representation
- JSON encoding and decoding of ASTs
-
Performance
- Disabling XDebug
- Reusing objects
- Garbage collection impact
-
Frequently asked questions
- Parent and sibling references