$25
NOTE: Refer lecture notes, Chapter 4.
Q1. Write a program to remove left-recursion from grammar G given as input.
Example Input: Example Output:
Q2. Write a program that takes a grammar as input and produces an equivalent leftfactored grammar as output.
Example Input: Example Output:
A → aAB | aBc | aAc A → aA’
A’ → AD / Bc
D → B / c
Q3. We discussed about a basic top-down parsing approach (Recursive-descent parsing) that may require backtracking. Implement a recursive descent parser for the following expression grammar: