
Lexical
analyzer
Syntax
analyzer
Intermediate
code generator
Optimizer
Code
generator
Structure of Compiler:
Phases
Semantic
analyzer
Position := Initial + Rate * 60
T1
:= Id3 *
60.0
Id1 := Id2 + T1
Id1 := Id2 + Id3 * 60
fmul R2 , #60.0
fmov R3 ,
Id2
fmov
R2 , Id3
fadd R2 , R3
fmov
Id1, R2
:=
Id1
Id2
Id3
+
*
60

:=
Id1
Id2
Id3
+
*
60

IntToReal
T1
:= IntToReal(60)
T2
:= Id3 * T1
T3
:= Id2 + T2
Id1 := T3
3/17