Slide 5
Slide 5 text
Dr. Javier Gonzalez-Sanchez | Compilers | 5
jgs
Parser | Error Recovery
Rule FIRST set FOLLOW set
PROGRAM { EOF
BODY FIRST (PRINT) U FIRST (ASIGNMENT) U FIRST(VARIABLE) U FIRST (WHILE) U
FIRST(IF) U FIRST (RETURN)
}
PRINT print ;
ASSIGNMENT identifier ;
VARIABLE int, float, boolean, void, char, string ;
WHILE while } U FIRST(BODY)
IF if } U FIRST(BODY)
RETURN return ;
EXPRESSION FIRST(X) ), ;
X FIRST(Y) | U FOLLOW(EXPRESSION)
Y ! U FIRST(R) & U FOLLOW(X)
R FIRST(E) FOLLOW(Y)
E FIRST (A) !=, ==, >, < U FOLLOW(R)
A FIRST (B) -, + U FOLLOW(E)
B - U FIRST (C) *, /, U FOLLOW(A)
C integer, octal, hexadecimal, binary, true, false, string, char, float,
identifier, (
FOLLOW(B)