diff --git a/articles/abstract_syntax_tree.md b/articles/abstract_syntax_tree.md index 74bbfe3..4cf96f8 100644 --- a/articles/abstract_syntax_tree.md +++ b/articles/abstract_syntax_tree.md @@ -6,9 +6,10 @@ concrete syntax tree. An AST is the first [intermediate representation](intermediate_representation.md) used by a programming language, being created by a [parser](parser.md). Usually this tree is -later decorated with additional information by the compiler, such as typing information. +later decorated with additional information by the compiler, such as typing information in latter compilation +phases, in this case the semantic analysis phase. -[Lisp](lisp.md) famously uses a very simple syntax for its source code, (S-Expressions)(sexpression.md), which makes +[Lisp](lisp.md) famously uses a very simple syntax for its source code, [S-Expressions](sexpression.md), which makes the AST evident and makes Lisp [homoiconic](homoiconic.md). For this C function that calculates the factorial of *n*: