Parse tree and Syntax tree
When you create a parse tree then it contains more details than actually needed. So, it is very difficult to compiler to parse the parse tree. Take the following parse tree as an example:
A sentence id + id * id would have the following syntax tree:
Abstract syntax tree can be represented as:
Abstract syntax trees are important data structures in a compiler. It contains the least unnecessary information.
Abstract syntax trees are more compact than a parse tree and can be easily used by a compiler.