Zusammenfassung der Ressource
Compiladores - Capitulo l
- Con la llegada de
los computadores
en 1940 por Von
neumman, fue
necesario utilizar
lenguaje maquina
para los cómputos
- Para lograr optimizar
el proceso de
escritura y evitar lo
tedioso se recurrio a
lenguaje Ensamblador
- El lenguaje ensamblador
mejoro notablemente la
rapidez de los procesos, sin
embargo dependia solo de
la maquina para la cual fue
escrito
- Fue el equipo de IBM
quien demostró que era
posible crear un sistema
independiente de
cualquier maquina con la
creación de FORTRAN y
su compilador
- Noam Chomsky gracias a sus estudios
logro clasificar los lenguajes según la
complejidad de su gramática gracias a
ellos la construcción de compiladores
se volvió mas fácil
- Clasifico 3 gramaticas: Tipo 1, 2 y 3
- Proceso de traducción
- Analizador Lexico
- En esta fase se lee el
programa de izquierda a
derecha y se agrupan en
componentes léxicos (Tokens)
- Analizador sintáctico
- Los caracteres se agrupan
en frases gramaticas de
manera jerárquica para
sintetizar la salida del
compilador, se comprueba
si lo obtenido en la fase
anterior es sintácticamente
correcto
- Analisis semantico
- Revisa el programa fuente para
encontrar errores semánticos
- Optimizador de
código fuente
- Consiste en mejorar el código
intermedio para que resulte un
código de maquina mas rápido
de ejecutar
- Generador de codigo
- Toma como entrada el código
intermedio y de salida genera el
código para la maquina
- Optimizador de código
- En esta fase el compilador
intenta mejorar el código
objetivo para incrementar el
rendimiento (reemplaza
instrucciones y elimina las
operaciones secundarias
- 6
- 5
- 4
- 3
- 2
- 1
- Programas relacionados con compiladores
- Interpretes
Ensambladores
Ligadores
Perfiladores
Depuradores
Editores
- Principales estructuras de datos en un compilador
- Tokens
- También se le conoce como
componentes léxicos es una cadena de
caracteres que tiene significado
coherente en cierto lenguaje de
programación
- Arbol Sintactico
- No es mas que una forma de visualizar
la estructura de una oración donde
cada nodo es un registro de la
información recolectada por los
analizadores
- Tabla de simbolos
- Estructura de datos que usa el proceso
de traducción de un lenguaje de
programación por un compilador o
interprete, actualmente en casi todas las
fases del compilador
- Tabla de literales
- Estructura de datos que almacena
constantes y cadenas utilizadas en el
programa
- Codigo intermedio
- Ese código puede conservarse en un
arreglo de cadenas de texto, un archivo
temporal o bien en una estructura ligada
- Archivos temporales
- Como al principio las computadores no
tenían suficiente memoria para guardar un
programa completo se recurrio a archivos
temporales
- Historia