Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduccin
INDICE GENERAL
Dilema de la computacin
Definicin compilador
Breve historia
El proceso de compilacin
Fases del compilador
Introduccin
(Dilema)
Dilema de la computacin
Hay una brecha entre la clase de pensamiento que utiliza la gente
para resolver problemas y la manera en que las computadoras han
sido diseadas para resolverlos:
Las computadoras son circuitos electrnicos con memoria que
operan sobre datos por medio de desplazamiento de bits; que
ejecutan operaciones aritmticas y lgicas; constan de
instrucciones que controlan el flujo de ejecucin.
Introduccin
(Dilema)
Dilema de la computacin
La resultados de la investigacin en solucin de problemas han
desembocado en lenguajes de programacin que nos permiten
escribir soluciones con un nivel de abstraccin alto.
As que ha medida que la investigacin de problemas y la tecnologa
en diseo de computadoras avanzan, se abre mas la brecha.
Que hacer?
Los traductores son la solucin, ya que actan como un puente de
esta brecha.
Introduccin
(Definicin compilador)
Definicin traductor
Es un programa que traduce un lenguaje de alto nivel a una
representacin de bajo nivel.
Hay dos tipos de traductores:
compiladores
Intrpretes
En este curso haremos enfasis en los compiladores.
Introduccin
(Breve historia)
Breve historia
Los primeros compiladores se desarrollan en los aos 50s
Fortran (FORmula TRANslator) en considerado como el primer
lenguaje compilado.
John Backus fue quien diseo e implement Fortran
Tom 18 aos hombre desarrollarlo.
Introduccin
El proceso de compilacin
(El proceso)
Introduccin
(Fases)
Anlisis
lxico
Anlisis
sintctico
Anlisis
semntico
Manejo de tabla
Tabla de smbolos
Tabla de literales
Tabla de ciclos
Tabla de
representaciones
Prep.
Gen.
cdigo
Optimiza
cin
Manejo de
errores
E/S
Gen
cdigo
Introduccin
(Anlisis Lxico)
Anlisis Lxico
Anlisis
lxico
Anlisis
sintctico
Anlisis
semntico
Prep.
Gen.
cdigo
Optimiza
cin
Tokens
Manejo de tabla
Tabla de smbolos
Tabla de literales
Tabla de ciclos
Tabla de
representaciones
Manejo de
errores
E/S
Gen
cdigo
Introduccin
(Anlisis Sintctico)
Anlisis Sintctico
Anlisis
lxico
Anlisis
sintctico
Tokens
Anlisis
semntico
Prep.
Gen.
cdigo
Optimiza
cin
Arbol de Anlisis
Gramatical
Manejo de tabla
Tabla de smbolos
Tabla de literales
Tabla de ciclos
Tabla de
representaciones
Manejo de
errores
E/S
Gen
cdigo
Introduccin
(Anlisis Semntico)
Anlisis Semntico
Anlisis
lxico
Anlisis
sintctico
Tokens
Anlisis
semntico
Arbol de Anlisis
Gramatical
Manejo de tabla
Tabla de smbolos
Tabla de literales
Tabla de ciclos
Tabla de
representaciones
Prep.
Gen.
cdigo
Optimiza
cin
RI
Manejo de
errores
E/S
Gen
cdigo
Traductores(anlisis semntico)
Anlisis Semntico. Determina el significado del
programa mediante la creacin de tablas de
smbolos, verificando si las variables utilizadas
han sido definidas.
Las tareas principales son:
Verificacin esttica
Generacin de la representacion intermedia
Traductores(anlisis semntico)
Verificacin esttica:
Consistencia de tipos
Arreglos
Definicin de variables
Generacin de la representacin intermedia:
Es uan forma alternativa del rbol de anlisis
gramatical, y se le llama rbol abstracto de
sintaxis o rbol abstracto de estructura.
Introduccin
(Optimizacion)
Optimizacin
Anlisis
lxico
Anlisis
sintctico
Tokens
Anlisis
semntico
Arbol de Anlisis
Gramatical
Manejo de tabla
Tabla de smbolos
Tabla de literales
Tabla de ciclos
Tabla de
representaciones
Prep.
Gen.
cdigo
Optimiza
cin
RI
RI
alterada
Manejo de
errores
E/S
Gen
cdigo
Introduccin
(Optimizacion)
Optimizacin
Cambia la representacion intermedia de modo que la fase final de
generacin de cdigo producir cdigo que se ejecutar mas
rpido u ocupar menos espacio.
Tipos de optimizacin
1.
2.
Propagacion constante
Eliminacin de subexpresiones constantes
Introduccin
(Preparacin)
Anlisis
lxico
Anlisis
sintctico
Anlisis
semntico
Prep.
Gen.
cdigo
Optimiza
cin
Gen
cdigo
Asignacin de
Mem y registros
Manejo de tabla
Tabla de smbolos
Tabla de literales
Tabla de ciclos
Tabla de
representaciones
Manejo de
errores
E/S
Introduccin
(Preparacin)
de memoria
Asignacin
de registros
Introduccin
(Generacin)
Generacin de cdigo
Anlisis
lxico
Anlisis
sintctico
Anlisis
semntico
Prep.
Gen.
cdigo
Optimiza
cin
Gen
cdigo
Cdigo
Manejo de tabla
Tabla de smbolos
Tabla de literales
Tabla de ciclos
Tabla de
representaciones
Manejo de
errores
E/S
Introduccin
Fin de presentacin
(Fin)