Error Recovery
Error Recovery
Non Terminal id + ∗ ( ) $
E E → TE 0 E → TE 0 Synch Synch
0 0 0 0
E’ E → TE E → E →
T T → FT 0 Synch T 0 → FT 0 Synch Synch
T’ T 0 → FT 0 T0 → T 0 → ∗FT 0 T0 → T0 →
F F → id synch Synch F → (E) Synch Synch
Phrase level recovery - for each error entry in the table insert
a pointer to a particular error procedure, which assumes the
most likely cause and takes the appropriate action.
Consider the following grammar production rules
1. E → E + T
2. E → T
3. T → T ∗ F
4. T → F
5. F → (E)
6. F → id
Yacc
Yacc
Specification y.yab.c
Compiler
translate.y
C
y.yab.c a.out
Compiler