Date post: | 25-Nov-2014 |
Category: |
Documents |
Upload: | abdul-wahid-khan |
View: | 113 times |
Download: | 1 times |
S → E
E → E + (E) | int
1
2
0 S→ E, $E→ E+(E), $/+E→ int, $/+
1E→ int , $/+
2 S→ E, $E→ E +(E), $/+
3E→ E+(E), $/+
4E→ E+(E), $/+E→ E+(E), )/+E→ int, )/+
6 E→ E+(E), $/+E→ E+(E), )/+E→ int, )/+
5E→ int , )/+
3
0
E → int on ),+
int
E+
(
E
int
E → int on $,+
accept on $
S→ E, $E→ E+(E), $/+E→ int, $/+
1E→ int , $/+
2 S→ E, $E→ E +(E), $/+
3E→ E+(E), $/+
4E→ E+(E), $/+E→ E+(E), )/+E→ int, )/+
6 E→ E+(E), $/+E→ E+(E), )/+E→ int, )/+
5E→ int , )/+
4
1. S' → E2. E → T – E 3. E → T4. T → F T5. T → F6. F → id
5
Let us parse the expressionx – y z using the CLR(1) table
The scanner will encode the input string as id – id id $where $ is the EOF marker
6
Action Goto
id – $ E T F0 s4 1 2 3
1 acc
2 s5 r3
3 r5 s6 r5
4 r6 r6 r6
5 s4 7 2 3
6 s4 8 3
7 r2
8 r4 r4