Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
Construct the SLR Parsing table for the following grammar. Also, Parse the input string a * b + a.
Description − Consider the Grammar
E → E + T|T
T → TF|F
F → F*|a|b.
Solution
Step1 − Construct the augmented grammar and number the productions.
(0) E′ → E
(1) E → E + T
(2) E → T
(3) T → TF
(4) T → F
(5) F → F ∗
(6) F → a
(7) F → b.
Step2 − Find closure & goto Functions to construct LR (0) items.
Box represents the New states, and the circle represents the Repeating State.

Computation of FOLLOW
We can find out
FOLLOW(E) = {+, $}
FOLLOW(T) = {+, a, b, $}
FOLLOW(F) = {+,*, a, b, $}

Parsing for Input String a * b + a −
| Stack |
Input String |
Action |
|---|---|---|
| 0 |
a * b + a $ |
Shift |
| 0 a 4 |
* b + a $ |
Reduce by F → a. |
| 0 F 3 |
* b + a $ |
Shift |
| 0 F 3 * 8 |
b + a $
|
Reduce by F → F ∗ |
| 0 F 3 |
b + a $
|
Reduce by T → F |
| 0 T 2 |
b + a $
|
Shift |
| 0 T 2 b 5 |
+a $
|
Reduce by F → b |
| 0 T 2 F 7 |
+a $
|
Reduce by T → TF |
| 0 T 2 |
+a $
|
Reduce by E → T |
| 0 E 1 |
+a $
|
Shift |
| 0 E 1 + 6 |
a$
|
Shift |
| 0 E 1 + 6 a 4 |
$ |
Reduce by F → a |
| 0 E 1 + 6 F 3 |
$ |
Reduce by T → F |
| 0 E 1 + 6 T 9 |
$ |
Reduce by E → E + T |
| 0 E 1 |
$ |
Accept |
Advertisements
