Recursion
Index
Definition for Recursion
Classification of Recursion
About Left Recursion
Elimination of Left Recursion and
Example
Definition
• Recursion is the process a procedure goes through when one of the
steps of the procedure involves invoking the procedure itself
Classification
Recursion
Left recursion Right recursion
Left Recursion
A→A𝛼/𝛽
A
A
A
A
𝛼
𝛼
𝛼
𝛽
A
𝛽
Top down parser doesn’t allow in
Left Recursion bcz of it’s infinite problem.
So… we need to eliminate this problem.
Infinite problem
Elimination of Left Recursion
A→A𝛼/𝛽
A
A
A
A
𝛼
𝛼
𝛼
𝛽
A
𝛽
𝛽 𝛼*
Elimination of Left Recursion
𝐴 → 𝛽 𝛼*
𝐴 → 𝛽𝐴′
𝐴′
→ 𝛼𝐴′
/∈
𝐴 → 𝛽𝐴′
𝐴′
→ 𝛼𝐴′
/∈
A→A𝛼/𝛽
Example
E →E +T / T
𝐴 → 𝛽𝐴′
𝐴′
→ 𝛼𝐴′
/∈
A→A𝛼/𝛽
A A 𝛼 𝛽
E→ 𝑇𝐸′
𝐸′
→ +𝑇 𝐸′
/∈
Thanks for your attention!
Any Question??...

Recursion (left recursion) | Compiler design