Compiladores e Interpretes
EPCI - UNPRG
COMPILADORES E INTERPRETES
Análisis semánt ico: Estudia el significado de la sentencia Procesadores de lenguaje: Convier te un programa fuente hecho en un lenguaje fuente a un programa objeto hecho en un lenguaje objeto. En consecuencia, es un programa que esta hecho en maquina virtual y es transformado a un programa que entienda la maquina real.Observe el esquema: El lenguaje objeto es creado por el compilador, el cual debe estar preparado para el sistema operativo en el que será ejecutado y a la arquitectura respectiva del hardware. Por ejemplo, existen compiladores que a un programa fuente lo transforman a ejecutable para Windows (arquitectura CISC) o para MacOS (arquitectura RISC).
Compilador Program a fuente (hecho en Pascal) (hecho enlenguaje C++) Maquina Virtual (Generado por SO) para Programa fuente (hecho en Leng. Fuente)
CONVERTIR para
Maquina Real
Programa objeto (hecho en Leng. Objeto) Instrucciones máquina
Firmware (microprograma ubicado en la ROM) Especie de caja negra (no perceptible por el usuario)
(o para un SO Windows - CISC) Program a objeto (o para un SO MacOS - RISC)
Lenguaje fuenteLenguaje de implementación
Lenguaje objeto
Un SO de arquitectura propietaria son aquellas que restringen el desarrollo de aplicaciones sólo a esa misma familia de SO, por ejemplo, Windows: sus aplicaciones no pueden ser ejecutadas por otros SO tal como MacOS o LINUX
Interprete Java (utiliza bytecode) Lenguaje de implementación C++ Sistema Computacional
P or eso se dice que el Java es el sucesordel C ++
Un SO de arquitectura abierta es aquel en que sus aplicaciones pueden ser ejecutadas en cualquier otro SO, como por ejemplo LINUX puede ser instalado en cualquier arquitectura como CISC o RISC, es decir se puede instalar en una PC o una Mac (Apple) respectivamente. Existen decompiladores que transforman un exe a código fuente. Pero, debe saberse de antemano cual fue el lenguaje que looriginó.
Ing. Luis Reyes Lescano
1
Compiladores e Interpretes
EPCI - UNPRG
Tipos de procesadores de lenguaje Traductores
P rograma F uente (Len g. de alto niv el o medio niv el) P rograma objeto (Len g. objeto o máquina) P rograma F uente (Len g. de ensamble) P rograma objeto (Len g. objeto o máquina)
Compilador
Ensamblador
Funcionalidad: Toma todo el programa fuente ygenera las instrucciones máquina (Prog.objeto), inclusive genera el exe que es igual al Prog.objeto+cargadores (rutinas de ejecusión del SO). Interpretes
P rograma F uente (Len g. de alto niv el) P rograma objeto (Len g. objeto o máquina)
Interprete
Funcionalidad: Toma el programa fuente y genera instr ucciones máquina necesarias sentencia por sentencia (fuente) sobre la marcha. Muchas vecesno genera el ejecutable y para esto nec esita del software de apoyo (linker). Estructura de un compilador
Etapa de Análisis
Análisis Léxico Análisis Sintáctico Análisis Semántico Tabla de símbolos uniformes
Etapa de Síntesis
Generación código interno Optimizador Generación código final
Tabla de manejo de errores
PROG. FUENTE
PROG. OBJETO
ANALISIS LEXICO Es un análisis linealSe da de izquierda a derecha Necesita de un analizador léxico o scaner
Ing. Luis Reyes Lescano
2
Compiladores e Interpretes
EPCI - UNPRG
Funcionalidad: Se encarga de disponer el programa fuente en unidades sintácticas, es decir, palabras con significado propio, denominados componentes léxicos o tokens. Por ejemplo: palabras reservadas, identificadores, constantes, operadoresaritméticos, operadores relacionales, operadores lógicos, símbolos de asignación, símbolos de puntuación o caracteres especiales del lenguaje, etc. Elimina los caracteres en forma de espacios en blanco, ejemplo: espacio en blanco, tabulaciones y saltos de línea. Elimina los comentarios. Actualiza la tabla de símbolos uniformes, que es la contenedora de todos los tokens del programa fuente actual....
Regístrate para leer el documento completo.