Você está na página 1de 13

Análisis de Compiladores

Objetivos
 Analizar la estructura de un
compilador sin distingo del lenguaje
de programación.
 Revisar las diferentes metodologías
para verificar el proceso de la
compilación de un lenguaje de
compilación.
Contenido Programático
 Introducción a la compilación
 Análisis léxico
 Análisis sintáctico.
 Comprobación de tipos
 Ambiente para el momento de ejecución
 Generación de código intermedio
 Generación de código objeto
Webliografía
 Compiladores Principios Técnicas y
Herramientas; Aho Sethi Ullman Pearson
Educacion
 Traductores y compiladores con Lex-Yacc
Flex-Cup y Javacc
 Compiladores - Conceptos Basicos
Procesadores Lenguaje
Introducción (1)
 La interface (de programación) entre los
humanos y las máquinas son los Lenguajes
de programación: La solución a un
problema se especifica a través de un
programa fuente.

 Es necesario un proceso de traducción para


que los programas fuentes sean entendidos
(ejecutados).
Introducción (2)
 Los compiladores son necesarios para el
desarrollo de cualquier sistema, caso
contrario tendríamos que programar en
lenguaje ensamblador o peor aún en
lenguaje de máquina.
Lenguajes de Programación:
Evolución (1)
 Lenguaje de máquina: combinación de 1’s
y 0’s
 Lenguaje montador (ensamblador): uso de
mnemónicos y direcciones de memoria
 Lenguajes basados en cálculos numéricos:
ForTran, AlGol, PL/1, Pascal, Basic
 Lenguajes para los negocios: COBOL
Lenguajes de Programación:
Evolución (2)
 Lenguajes para inteligencia artificial: LISP
 Lenguajes para sistemas: C
 Lenguajes orientados a objetos: C++,
Object Pascal
 Lenguajes visuales: Entornos de desarrollo
 Lenguajes de quinta generación: Ligados a
la gran explosión del internet.
Procesadores de Lenguaje (1)

 Es el nombre genérico que reciben todas


las aplicaciones informáticas en las cuales
unos de los datos fundamentales de
entrada es un lenguaje.
Procesadores de Lenguaje (2)
 Entre ellos tenemos: Traductores,
Compiladores, Ensambladores,
Enlazadores, Cargadores, Intérpretes,
Desensambladores, Decompiladores,
Depuradores, Analizadores de
Rendimiento, Optimizadores de Código,
Compresores, Preprosesadores,
Formateadores, Editores.
Traductores (1)
 Se define como un programa que convierte
desde un texto o programa escrito en un
lenguaje fuente hacia un texto o programa
equivalente escrito en un lenguaje destino
produciendo, si cabe, mensajes de error.

 Los traductores engloban tanto a los


compiladores, ensambladores e intérpretes.
Traductores (2)
 Si el lenguaje fuente es el lenguaje ensamblador
(assembly) y el lenguaje objeto es el lenguaje de
máquina, entonces al traductor se le llama
“ensamblador” (assembler).
 Los “intérpretes” son programas que simplemente
ejecutan las instrucciones que encuentran en el
texto fuente.
 Un traductor que transforma textos fuente de
lenguajes de alto nivel a lenguajes de bajo nivel
(lenguaje objeto) se lo denomina “compilador”.
Traductores (3)
Programa fuente
Escrito en
Lenguaje de
programación

Traductor

 Ensambladores.
 Compiladores.
 Interpretes. Lenguaje Objeto
Lenguaje Natural

Você também pode gostar