Вы находитесь на странице: 1из 2

 


 
estructura del programa fuente

preprocesador

programa fuente

compilador

programa en ensamblador

ensamblador

codigo maquina relocalizable

editor de carga bibliotecas


y enlace (link) archivos objeto relocalizables

codigo maquina absoluto

  !"
$#%$#&
'(#)*

Analisis
Programa Tablas
fuente Analisis lexico
de
simbolos

Analisis sintactico
Gestor

de
Analisis semantico
errores

Generacion de codigo
intermedio

Optimizacion

Generacion de codigo
Programa
objeto
Sintesis
COMPILADOR

+
,- .&! /!0 
posicion := inicial + vel * 60

Analisis lexico Tablas de


simbolos

id := id + id * 60 ...
1 posicion real
<id, 1> <OpAsign, > <id, 2> <OpAd, +> <id, 3> <OpMult, *> <cte, 60> 2 inicial real ...
3 vel real ...
Analisis sintactico ... ...

sentencia de asignacion

id := expresion

expresion + expresion

id expresion * expresion

id cte
Analisis semantico

:=

id, 1 +

id, 2 *

id, 3 intToReal

60

:=

id, 1 + Tablas de
simbolos
id, 2 *
1 posicion real id1 ...
id, 3 intToReal
2 inicial real id2 ...
60 3 vel real id3 ...
... ...
Generacion de codigo intermedio

temp1 := inttoreal (60)


temp2 := id3 * temp1
temp3 := id2 + temp2
id1 := temp3

Optimizacion

temp1 := id3 * 60.0


id1 := id2 + temp1

Generacion de codigo

MOVF id3, R2
MULF #60.0, R2
MOVF id2, R1
ADDF R2, R1
MOVF R1, id1

Вам также может понравиться