Академический Документы
Профессиональный Документы
Культура Документы
estructura del programa fuente
preprocesador
programa fuente
compilador
programa en ensamblador
ensamblador
!"
$#%$#&
'(#)*
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
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
Optimizacion
Generacion de codigo
MOVF id3, R2
MULF #60.0, R2
MOVF id2, R1
ADDF R2, R1
MOVF R1, id1