Documentos de Académico
Documentos de Profesional
Documentos de Cultura
COMPILADORES E
INTRPRETES
Introduccin
Compilador: DEFINICIN
2
Programa
Fuente
Compilador
Programa
Objeto
Mensajes
de Error
Compiladores, Introduccin
3
Cdigo
Mquina
Ensamblador
Cdigo
Mquina
Lenguaje
Ensamblador
Ensamblador
Compilador
Cdigo
Lenguaje
Lenguaje
Mquina
Ensamblador
de alto Nivel
Compiladores
4
En
Compiladores
5
Gran
Conceptos Relacionados
6
A it t
Arquitectura
de Ordenadores
Teora de
Lenguajes
Lenguajes de
Programacin
Compiladores
Teora de
Algoritmos
Ingeniera
del Software
Motivacin (I)
7
Motivacin (II)
8
La teora es imprescindible
p
Antes
de comandos y consultas
Formateadores
F
d
de
d texto (TeX,
(T X LaTeX)
L T X)
Lenguajes de simulacin (GPSS)
Intrpretes Grficos (PS, GIF, JPEG, PovRAY)
Compilador; Definiciones I
9
Ensamblador:
Compilador
sencillo
sencillo, el lenguaje fuente tiene una estructura
simple que permite una traduccin de una sentencia fuente
a una instruccin en cdigo mquina
Compilador
cruzado:
Compilador
Compilador; Definiciones II
10
Compile-Link-Go
frente a Compile-Go:
Lenguaje
Pasada:
Traductor
Autocompilador
Compilador
Compilador; Definiciones IV
12
Metacompilador
Programa
Decompilador
Programa
Esquema de Compilacin
13
Ejecucin
Compilacin
Fuente
Compilador
Corregir
Errores del
Fuente
Listado
Diagnsticos
Objeto
No
Bien
Si
Programa
Objeto
Resultados
Datos
Compilador, Esquema
14
Cdigo
g Mquina
q
Absoluto
Estructura de
Programa Fuente
Preprocesador
Compilador
Programa
Fuente
Ensamblador
Programa
Objeto
Ensamblador
Editor de
Carga
Biblioteca de
Archivos Objeto
Relocalizables
Cdigo Mquina
Relocalizable
Fases de un Compilador
15
Tabla de
Smbolos
Generacin
Anlisis
Analizador
Lxico
Analizador
Sintctico
Analizador
Semntico
Entrada
Salida
Generador
de Cdigo
Intermedio
Optimizador
Generador
de Cdigo
Tratamiento
de errores
Anlisis
x:=a+b*c;
y:=3+b*c;
Analizador
Lxico
(id,x) (op,:=)
(id,a)
(op,+) (id,b)
(op,*)
(id,c) (punt,;)
(id,y) (op,:=)
(num,3)
(op,+) (id,b)
(op,*)
(id,c) (punt,;)
Analizador Sintctico
17
Anlisis
Jerrquico
Agrupa
TOKENS
(id,x) (op,:=)
(id,a)
(op,+) (id,b)
(op,*)
Analizador
Sintctico
(id,c) (punt,;)
(id,y) (op,:=)
(num,3)
(op,+) (id,b)
(op,*)
(id,c) (punt,;)
18
Sentencias
Sentencia
Sentencias
Asignacin
X
a
Variable
:=
Variable
Variable
b
Sentencia
Expresin
Asignacin
Expresin
Variable
Expresin
Variable
3
c
:=
Constante
Variable
Expresin
+
Expresin
Expresin
Variable
c
Compilador; Gramtica
19
Analizador Semntico
20
Busca
:=
x
:=
+
y
*
+
3
*
b
10
Optimizacin
21
:=
x
:=
+
*
b
+
3
Generador de Cdigo
22
:=
x
:=
+
y
*
+
3
Push a
apila
Push b
bpila
Load (c), R1
cR1
Mult (S), R1
b*cR1
Store
Sto
e R1,
, R2
R1R2
Add (S), R1
a+b*cR1
Store R1,(x)
R1x
Add #3, R2
3+b*cR2
11
Fases de un Compilador
23
Agrupacin
g p
lgica
g de un compilador
p
Etapa
Inicial
Fases,
Etapa
Final
Fases
12