Chris@13: Table of Contents Chris@13: ================= Chris@13: Chris@13: Guide Chris@13: ----- Chris@13: Chris@13: 1. [Introduction](0_Introduction.markdown) Chris@13: 2. [Usage of basic components](2_Usage_of_basic_components.markdown) Chris@13: Chris@13: Component documentation Chris@13: ----------------------- Chris@13: Chris@13: * [Walking the AST](component/Walking_the_AST.markdown) Chris@13: * Node visitors Chris@13: * Modifying the AST from a visitor Chris@13: * Short-circuiting traversals Chris@13: * Interleaved visitors Chris@13: * Simple node finding API Chris@13: * Parent and sibling references Chris@13: * [Name resolution](component/Name_resolution.markdown) Chris@13: * Name resolver options Chris@13: * Name resolution context Chris@13: * [Pretty printing](component/Pretty_printing.markdown) Chris@13: * Converting AST back to PHP code Chris@13: * Customizing formatting Chris@13: * Formatting-preserving code transformations Chris@13: * [AST builders](component/AST_builders.markdown) Chris@13: * Fluent builders for AST nodes Chris@13: * [Lexer](component/Lexer.markdown) Chris@13: * Lexer options Chris@13: * Token and file positions for nodes Chris@13: * Custom attributes Chris@13: * [Error handling](component/Error_handling.markdown) Chris@13: * Column information for errors Chris@13: * Error recovery (parsing of syntactically incorrect code) Chris@13: * [Constant expression evaluation](component/Constant_expression_evaluation.markdown) Chris@13: * Evaluating constant/property/etc initializers Chris@13: * Handling errors and unsupported expressions Chris@13: * [JSON representation](component/JSON_representation.markdown) Chris@13: * JSON encoding and decoding of ASTs Chris@13: * [Performance](component/Performance.markdown) Chris@13: * Disabling XDebug Chris@13: * Reusing objects Chris@13: * Garbage collection impact Chris@13: * [Frequently asked questions](component/FAQ.markdown) Chris@13: * Parent and sibling references