Integrantes: Flores Ramrez Ishtar Kenia Juan Carlos Lpez Valds Chaves Valencia Alejandra Pepe Salas Mandujano
Que es un Compilador?
Es un traductor que convierte un texto escrito en un lenguaje fuente de alto nivel en un programa objeto en cdigo mquina.
Programa Fuente
El
cdigo fuente o programa fuente de un programa o software es un conjunto de lneas de texto que son las instrucciones que debe seguir la computadora para ejecutar dicho programa. El cdigo fuente de un programa est escrito por un programador en algn lenguaje de programacin
Tabla de smbolos
Una
tabla de smbolos es una estructura de datos que usa el proceso de traduccin de un lenguaje de programacin, por un compilador o un intrprete, donde cada smbolo en el cdigo fuente de un programa est asociado con informacin tal como la ubicacin, el tipo de datos y el mbito de cada variable, constante o procedimiento.
Manejador de Errores
Es
una funcin muy importante, pues al ocurrir un error esta funcin debe tratar de alguna forma el error para as seguir con el proceso de compilacin (la mayora de errores son detectados en las etapas de anlisis lxico, anlisis sintctico, anlisis semntico).
Cdigo Objeto
Cdigo
que resulta de la compilacin del cdigo fuente. Consiste en lenguaje mquina o bytecode y se distribuye en varios archivos que corresponden a cada cdigo fuente compilado. Para obtener un programa ejecutable se han de enlazar todos los archivos de cdigo objeto con un programa llamado enlazador(linker).
Software
(Programa
Ejecutable)Programa que ha sido traducido a cdigo mquina en un formato que puede cargarse en la memoria y ejecutarse. Sin embargo, en los lenguajes interpretados puede referirse simplemente al cdigo fuente en su formato apropiado.
Compiladores Cruzados: Generan cdigo para un sistema distinto del que estn funcionando.
Compiladores Optimizadores: Realizan cambios en el cdigo para mejorar su eficiencia, manteniendo la funcionalidad de programa original.
Compiladores de una pasada: Generan el cdigo maquina a partir de una nica lectura del cdigo fuente. Compiladores de Varias pasadas: Necesitan leer el cdigo fuente varias veces antes de poder producir el cdigo maquina.
Compiladores JIT (Just In Time): Forma parte de un intrprete y compilar partes del cdigo segn vayan necesitando.
Un compilador de compiladores o generador de parsers es una utilera para generar el cdigo fuente de parsers.
Compilador de compiladores
Reglas Lxicas
Gramtica
Conjunto
de todas las cadenas de smbolos terminales que pueden derivarse del smbolo inicial o axioma
Rutinas Semnticas
Son
las reglas de la gramtica que tienen relacin con las expresiones aritmticas y la asignacin. sent_asig: T_IDENT '=' expresion ';'
Generador de Cdigo
herramientas
generadoras automticas de cdigo para un compilador. Estas herramientas trabajan basadas en un conjunto de reglas; estas reglas definen la traduccin de las instrucciones del lenguaje intermedio al lenguaje de mquina.
Analizador Lxico
Esta
fase se encarga de verificar si todas las cadenas pertenecen o no al lenguaje. Es decir realiza un anlisis smbolo por smbolo indicando el token por cada uno de los elementos reconocidos o el error en caso de no reconocer. Este anlisis no logra detectar muchos errores por su caracterstica.
Anlisis Sintctico
En
esta fase se analiza la estructura de las expresiones en base a gramticas. Aqui ya se puede determinar si una extructura por ejemplo una expresin matemtica mal formada. El anlisis que se realiza es jerrquico es decir en base a rboles de derivacin que se obtienen de las mismas gramticas. Ejemplo: position:=initial + rate*60
Analizador Semntico
Este
anlisis es ms dificil de formalizar, determina el tipo de los resultados intermedios, comprobar que los argumentos que tienen un operador pertenecen al conjunto de operadores posible, y si son compatibles entre s.
Generacin de Cdigo
Llegamos
a la generacin de cdigo ensamblador o cdigo mquina del procesador que nos interese por ejemplo:
Maquina de Touring
Compilador Es un programa que lee totalmente un programa escrito en un lenguaje; el lenguaje fuente, y lo traduce a un programa equivalente a otro lenguaje, lenguaje objeto
Traductor
Es una mquina terica que tiene como entrada un texto escrito en un lenguaje L1 y como salida un texto escrito en un lenguaje L2. Habitualmente se denomina a L1 lenguaje fuente y a L2 lenguaje objeto.