COMPILADORES E INTÉRPRETES
Diapositivas del conjunto (22)
-
- Proceso de traducción que convierte un programa
- fuente escrito en un lenguaje de alto nivel a un
- programa objeto en código máquina y listo por
- tanto para ejecutarse en el ordenador, con poca o
- ninguna preparación adicional

-
-
- En los 50 los compiladores eran considerados
- programas muy difíciles
- FORTRAN se desarrolló en grupo durante 18 años
- Se han desarrollado técnicas sistemáticas, entornos de
- programación y herramientas software que facilitan la
- tarea de desarrollo
- Gran variedad de lenguajes de alto nivel.
- Gran variedad de lenguajes objeto, tanto otro lenguaje de alto nivel como código máquina
- Los primeros traducían fórmulas aritméticas a código
- máquina
- Varios grupos independientemente desarrollaron
- técnicas de análisis
- No puede darse una fecha exacta del primer
- desarrollo
-
-
- Para ser buen programador
- --Saber como se obtiene un ejecutable permite saber más sobre corrección y eficiencia
- Para entender más sobre lenguajes
- --Tipificación: estática, dinámica, fuerte, polimorfismo,
- conversiones, sobrecarga de operadores...
- --Estructura de bloques, ámbitos
- Paso de parámetros
- --Gestión de memoria, punteros
-
- La teoría es imprescindible
- Antes de la aplicación de teoría de autómatas y
- lenguajes formales, programación, etc. Los
- compiladores eran muy malos
- Aplicar la teoría y herramientas a otros campos:
- Intérpretes de comandos y consultas
- Formateadores de texto (TeX, LaTeX)
- Lenguajes de simulación (GPSS)
- Intérpretes Gráficos (PS, GIF, JPEG, PovRAY)
-
- Ensamblador:
- Compilador sencillo, el lenguaje fuente tiene una estructura
- simple que permite una traducción de una sentencia fuente
- a una instrucción en código máquina
- Compilador cruzado:
- Compilador que traduce un lenguaje fuente a objeto, el
- objeto es para un ordenador distinto del que compila
-
- Compile-Link-Go frente a Compile-Go:
- Lenguaje que permita la fragmentación, compilación
- separada y enlazado de las parte
- El compilador deja en memoria directamente un módulo
- cargable que se ejecuta a continuación
- Compilador de una o varias pasadas:
- “Pasada”: recorrido total de todo el fuente con alguna
- misión específica
-
- Traductor o compilador incremental (interactivo o
- conversacional)
- Encontrados y corregidos los errores después solo se
- compilan estos
- Autocompilador
- Compilador escrito en el propio lenguaje que compila
- Facilitar la portabilidad
-
- Metacompilador
- Programa que recibe un lenguaje y genera un compilador
- para ese lenguaje
- Decompilador
- Programa que recibe como entrada código máquina y lo
- traduce a un lenguaje de alto nivel
-
-
-
-
- Análisis Lineal: La cadena de entrada se lee de
- izquierda a derecha y se agrupa en componentes
- léxicos (tokens)
- Secuencias de caracteres con un significado colectivo

-
- Análisis Jerárquico
- Agrupa los componentes léxicos en frases gramaticales que
- el compilador utiliza

-
-
-
- Busca errores semánticos, reúne información de tipos;
- identifica operadores y operandos

-
-
-
- Agrupación lógica de un compilador
- Etapa Inicial
- Fases, o parte de fases que dependen del lenguaje fuente y
- que son independientes de la máquina
- Análisis léxico, sintáctico, semántico y generación de código
- intermedio, manejo de errores de cada parte
- Etapa Final
- Fases que depende de la máquina, depende del lenguaje
- intermedio
- Optimización de código, generación de código, operaciones con
- la tabla de símbolos
Información
- Descripción
- Traductores
- Creado por
- Jaime Amado López Gómez · sep 2015
- Actualizado
- 4 feb 2018
- Visitas
- 46
- Etiquetas
- Valoración








