E
G
H
J
K
L
M
N
O
P
Q
R
V
X
Y
Z

Abstract Syntax Tree

An Abstract Syntax Tree, or AST, is a tree representation of the source code of a computer program that conveys the structure of the source code. Each node in the tree represents a construct occurring in the source code.

During conversion to it’s AST, only the structural and content-related details of the source code are preserved, and any additional details are discarded. Information that are preserved, and are vital to the ASTs purpose, are: * Variable types, and location of each variable declaration * Order and definition of executable statements * Left and right components of binary operations * Identifiers and their assigned values

What are ASTs used for?

ASTs are used to represent the structure of a program’s source code for the compiler to use. An AST is usually the result of the syntax analysis phase of a compiler. It often serves as an intermediate representation of the program through several stages that the compiler requires, and has a strong impact on the final output of the compiler.

ASTs are also used for uses cases like static code analysis. Automated tools can traverse the AST of a program to find syntax errors and bad patterns in the code without actually executing it.

Ready to get started?

Signup for free. Start analyzing code in minutes.