Skip to content
Related Articles

Related Articles

Parse Tree in Compiler Design

View Discussion
Improve Article
Save Article
Like Article
  • Difficulty Level : Easy
  • Last Updated : 18 Sep, 2020

In this article we will study the concept and uses of Parse Tree in Compiler Design. First, let us check out two terms :

  • Parse : It means to resolve (a sentence) into its component parts and describe their syntactic roles or simply it is an act of parsing a string or a text.
  • Tree : A tree may be a widely used abstract data type that simulates a hierarchical tree structure, with a root value and sub-trees of youngsters with a parent node, represented as a group of linked nodes.

Parse Tree :

  • Parse tree is the hierarchical representation of terminals or non-terminals.
  • These symbols (terminals or non-terminals) represent the derivation of the grammar to yield input strings.
  • In parsing, the string springs using the beginning symbol.
  • The starting symbol of the grammar must be used as the root of the Parse Tree.
  • Leaves of parse tree represent terminals.
  • Each interior node represents productions of grammar.

Rules to Draw a Parse Tree :

  1. All leaf nodes need to be terminals.
  2. All interior nodes need to be non-terminals.
  3. In-order traversal gives original input string.

Let us take an example of a Grammar (Production Rules).

S -> sAB
A -> a
B -> b

The input string is “sab”, then the Parse Tree is :

Let us take another example of a Grammar (Production Rules).

S -> AB
A -> c/aA
B -> d/bB

The input string is “acbd”, then the Parse Tree is :

Uses of Parse Tree :

  • It helps in making syntax analysis by reflecting the syntax of the input language.
  • It uses an in-memory representation of the input with a structure that conforms to the grammar.
  • The advantages of using parse trees rather than semantic actions: you’ll make multiple passes over the info without having to re-parse the input.

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!