You are on page 1of 9

Compilers

By: Slide

14/9 1
21/9 2
28/9 3
5/10 4
Lexical Analyzer 12/10 5
Syntax Analyzer 19/10 6
Semantic Analyzer 26/10 7
. .docx.1 1 2/11 8
Intermediate 9/11 9
Code Generator 16/11 10
Code Optimizer 23/11 11
30/11 12
7/12 13
First & Follow 14/12 14
. docx. 2 2 21/12 14
28/12 16
31/12 17
6/1 18
19/1 19

:
....... Id ) ( * +

:
Input ( )grammar
E, T, E, T, F
E T E
E + T E |
T F T
T * F T |
F ( E ) | id
)First(

First(E) = { ( , id }

First(E) = { + , }

First(T) = { ( , id }

First(T) = { * , }

First(F) = { ( , id }
)Follow(
)$() Start Simple() Follow(
) Follow(
)LHS() Follow() ( ) Follow(
) First() Follow(
)( ) Follow(

Follow(E) = { $ , ) }
Follow(E) = { $ , ) }
Follow(T) = First(E) = { + , } and = Follow(E) ={ +, $, ) }
Follow(T) = Follow(T) = { +, $, ) }
Follow(F) = First(T) = { * , } and = Follow(T) ={*, +, $, ) }
)CFG(

: ) CFG(
97+8
E Digit - Digit + Digit = set of Production
Digit 0|1|2||9 = set of Production
)Parse Tree(

: ) CFG(
97+8
1. List List + Digit list

2. List List Digit


3. List Digit
list digit
4. Digit 0|1|2||9 +

list - digit

digit
)Parse Tree(

: ) CFG(
5+69+2
1. List List + Digit list

2. List List Digit


3. List Digit
list digit
4. Digit 0|1|2||9 +

list - digit

list

digit digit
+

You might also like