Compiladores

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
Compiladores por Mind Map: Compiladores

1. Fases

1.1. La tarea realizada por un compilador es muy compleja y por ello conviene considerarla descompuesta en diferentes partes.

1.2. En una primera aproximación se diferencian dos fases: análisis y síntesis; en la fase de análisis se comprueba que el programa está bien codificado. en la fase de síntesis se transcribe ese significado empleando la notación del lenguaje destino, generando el código máquina que representa el mismo algoritmo que el programa fuente.

2. Un compilador, traduce un programa escrito en un lenguaje fuente de alto nivel a otro semánticamente equivalente escrito en un lenguaje objeto, lenguaje que puede ser máquina o de bajo nivel

2.1. El resultado de la compilación es un programa ejecutable en una determinada máquina

3. Tipos

3.1. Cruzado

3.1.1. Se genera código en lenguaje objeto para una máquina diferente a la que se está utilizando para compilar.

3.2. Autocompilador

3.2.1. Es un compilador escrito en el mismo lenguaje que compila.

3.3. Metacompilador

3.3.1. Es sinónimo de compilador de compiladores. Se refiere a un programa que recibe como entrada las especificaciones del lenguaje para el que se desea obtener un compilador y genera como salida el compilador para ese lenguaje

3.4. Decompiladores

3.4.1. Realizan la tarea inversa a la de los compiladores. Traduce un programa fuente en un lenguaje de bajo nivel a otro objeto de nivel superior.

3.5. Compilador incremental

3.5.1. Es aquel que compila un programa en el que si después se descubren errores, en vez de corregir el programa fuente y compilarlo por completo, se compilan solo las modificaciones.

3.6. Compilador con montador y cargador

3.6.1. Compilador de distintos módulos de forma independiente y después los enlaza.

4. Pasadas de un compilador

4.1. La descomposición en fases de un compilador se refiere al análisis del problema que se plantea al desarrollar un compilador para un lenguaje.

4.2. Pasadas – son el número de veces que se procesa una representación del programa fuente. Cada pasada requiere: lectura del código fuente, procesamiento y almacenamiento de la información obtenida.