2017-10-03 19:09:27 +02:00
|
|
|
Table of Contents
|
|
|
|
=================
|
|
|
|
|
|
|
|
Guide
|
|
|
|
-----
|
|
|
|
|
|
|
|
1. [Introduction](0_Introduction.markdown)
|
|
|
|
2. [Usage of basic components](2_Usage_of_basic_components.markdown)
|
2018-01-08 11:10:03 +01:00
|
|
|
|
2017-10-03 19:09:27 +02:00
|
|
|
Component documentation
|
|
|
|
-----------------------
|
2018-01-08 11:10:03 +01:00
|
|
|
|
2018-02-28 21:00:42 +01:00
|
|
|
* [Walking the AST](component/Walking_the_AST.markdown)
|
|
|
|
* Node visitors
|
|
|
|
* Modifying the AST from a visitor
|
|
|
|
* Short-circuiting traversals
|
|
|
|
* Interleaved visitors
|
|
|
|
* Simple node finding API
|
|
|
|
* Parent and sibling references
|
2017-10-03 19:09:27 +02:00
|
|
|
* [Name resolution](component/Name_resolution.markdown)
|
|
|
|
* Name resolver options
|
|
|
|
* Name resolution context
|
|
|
|
* [Pretty printing](component/Pretty_printing.markdown)
|
|
|
|
* Converting AST back to PHP code
|
|
|
|
* Customizing formatting
|
|
|
|
* Formatting-preserving code transformations
|
2018-01-27 18:56:21 +01:00
|
|
|
* [AST builders](component/AST_builders.markdown)
|
|
|
|
* Fluent builders for AST nodes
|
2017-10-03 19:09:27 +02:00
|
|
|
* [Lexer](component/Lexer.markdown)
|
|
|
|
* Lexer options
|
|
|
|
* Token and file positions for nodes
|
|
|
|
* Custom attributes
|
|
|
|
* [Error handling](component/Error_handling.markdown)
|
|
|
|
* Column information for errors
|
|
|
|
* Error recovery (parsing of syntactically incorrect code)
|
2018-01-27 17:45:37 +01:00
|
|
|
* [Constant expression evaluation](component/Constant_expression_evaluation.markdown)
|
|
|
|
* Evaluating constant/property/etc initializers
|
|
|
|
* Handling errors and unsupported expressions
|
2018-02-08 16:21:25 +01:00
|
|
|
* [JSON representation](component/JSON_representation.markdown)
|
|
|
|
* JSON encoding and decoding of ASTs
|
2017-11-10 22:44:06 +01:00
|
|
|
* [Performance](component/Performance.markdown)
|
2021-05-04 01:36:30 +02:00
|
|
|
* Disabling Xdebug
|
2017-11-10 22:44:06 +01:00
|
|
|
* Reusing objects
|
|
|
|
* Garbage collection impact
|
2018-01-27 18:40:22 +01:00
|
|
|
* [Frequently asked questions](component/FAQ.markdown)
|
|
|
|
* Parent and sibling references
|