Skip to content

Commit 7b051eb

Browse files
committed
Add AST node list to README
1 parent 78740a2 commit 7b051eb

File tree

1 file changed

+109
-0
lines changed

1 file changed

+109
-0
lines changed

README.md

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,115 @@ ast\flags\EXEC_REQUIRE
301301
ast\flags\EXEC_REQUIRE_ONCE
302302
```
303303

304+
AST node kinds
305+
--------------
306+
307+
This section lists the AST node kinds that are supported and the names of their child nodes (in
308+
version >= 30).
309+
310+
```
311+
AST_AND: left, right
312+
AST_ARRAY_ELEM: value, key
313+
AST_ASSIGN: var, expr
314+
AST_ASSIGN_OP: var, expr
315+
AST_ASSIGN_REF: var, expr
316+
AST_BINARY_OP: left, right
317+
AST_BREAK: depth
318+
AST_CALL: expr, args
319+
AST_CAST: expr
320+
AST_CATCH: class, var, stmts
321+
AST_CLASS: extends, implements, stmts
322+
AST_CLASS_CONST: class, const
323+
AST_CLONE: expr
324+
AST_CLOSURE: params, uses, stmts, returnType
325+
AST_CLOSURE_VAR: name
326+
AST_COALESCE: left, right
327+
AST_CONDITIONAL: cond, true, false
328+
AST_CONST: name
329+
AST_CONST_ELEM: name, value
330+
AST_CONTINUE: depth
331+
AST_DECLARE: declares, stmts
332+
AST_DIM: expr, dim
333+
AST_DO_WHILE: stmts, cond
334+
AST_ECHO: expr
335+
AST_EMPTY: expr
336+
AST_EXIT: expr
337+
AST_FOR: init, cond, loop, stmts
338+
AST_FOREACH: expr, value, key, stmts
339+
AST_FUNC_DECL: params, uses, stmts, returnType
340+
AST_GLOBAL: var
341+
AST_GOTO: label
342+
AST_GREATER: left, right
343+
AST_GREATER_EQUAL: left, right
344+
AST_GROUP_USE: prefix, uses
345+
AST_HALT_COMPILER: offset
346+
AST_IF_ELEM: cond, stmts
347+
AST_INCLUDE_OR_EVAL: expr
348+
AST_INSTANCEOF: expr, class
349+
AST_ISSET: var
350+
AST_LABEL: name
351+
AST_MAGIC_CONST:
352+
AST_METHOD: params, uses, stmts, returnType
353+
AST_METHOD_CALL: expr, method, args
354+
AST_METHOD_REFERENCE: class, method
355+
AST_NAME: name
356+
AST_NAMESPACE: name, stmts
357+
AST_NEW: class, args
358+
AST_OR: left, right
359+
AST_PARAM: type, name, default
360+
AST_POST_DEC: var
361+
AST_POST_INC: var
362+
AST_PRE_DEC: var
363+
AST_PRE_INC: var
364+
AST_PRINT: expr
365+
AST_PROP: expr, prop
366+
AST_PROP_ELEM: name, default
367+
AST_REF: var
368+
AST_RETURN: expr
369+
AST_SHELL_EXEC: expr
370+
AST_SILENCE: expr
371+
AST_STATIC: var, default
372+
AST_STATIC_CALL: class, method, args
373+
AST_STATIC_PROP: class, prop
374+
AST_SWITCH: cond, stmts
375+
AST_SWITCH_CASE: cond, stmts
376+
AST_THROW: expr
377+
AST_TRAIT_ALIAS: method, alias
378+
AST_TRAIT_PRECEDENCE: method, insteadof
379+
AST_TRY: try, catches, finally
380+
AST_TYPE:
381+
AST_UNARY_MINUS: expr // prior to version 20
382+
AST_UNARY_OP: expr
383+
AST_UNARY_PLUS: expr // prior to version 20
384+
AST_UNPACK: expr
385+
AST_UNSET: var
386+
AST_USE_ELEM: name, alias
387+
AST_USE_TRAIT: traits, adaptations
388+
AST_VAR: name
389+
AST_WHILE: cond, stmts
390+
AST_YIELD: value, key
391+
AST_YIELD_FROM: expr
392+
393+
// List nodes (numerically indexed children):
394+
ZEND_AST_ARG_LIST
395+
ZEND_AST_ARRAY
396+
ZEND_AST_CATCH_LIST
397+
ZEND_AST_CLASS_CONST_DECL
398+
ZEND_AST_CLOSURE_USES
399+
ZEND_AST_CONST_DECL
400+
ZEND_AST_ENCAPS_LIST
401+
ZEND_AST_EXPR_LIST
402+
ZEND_AST_IF
403+
ZEND_AST_LIST
404+
ZEND_AST_NAME_LIST
405+
ZEND_AST_PARAM_LIST
406+
ZEND_AST_PROP_DECL
407+
ZEND_AST_STMT_LIST
408+
ZEND_AST_SWITCH_LIST
409+
ZEND_AST_TRAIT_ADAPTATIONS
410+
ZEND_AST_USE
411+
```
412+
304413
Version changelog
305414
-----------------
306415

0 commit comments

Comments
 (0)