Header Ads Widget

Parse trees & syntax trees

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:

Parse tree and Syntax tree

  • In the parse tree, most of the leaf nodes are single child to their parent nodes.
  • In the syntax tree, we can eliminate this extra information.
  • Syntax tree is a variant of parse tree. In the syntax tree, interior nodes are operators and leaves are operands.
  • Syntax tree is usually used when represent a program in a tree structure.

A sentence id + id * id would have the following syntax tree:

Parse tree and Syntax tree 1

Abstract syntax tree can be represented as:

Parse tree and Syntax tree 2

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.

Post a Comment

0 Comments