Compilador

Get Started. It's Free
or sign up with your email address
Compilador by Mind Map: Compilador

1. Programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación.

2. Tipos de compiladores

2.1. Cruzados

2.1.1. Generan codigo para un sistema distinto del que estan funcionando

2.2. Optimizadores

2.2.1. Realizan cambios en el código para mejorar su eficiencia

2.3. De una sola pasada

2.3.1. Generan el código maquina a partir de una única lectura del código fuente

2.4. De varias pasadas

2.4.1. Necesitan leer el código fuente varias veces antes de poder producir el código maquina

2.5. Just In Time (JIT)

2.5.1. Forman parte de un interprete y compilan partes del código según se necesitan

3. Estructura de un compilador

3.1. Analisis

3.1.1. Léxico

3.1.1.1. Descompone el programa fuente en componentes léxicos

3.1.2. Sintáctico

3.1.2.1. Agrupa los componentes léxicos (tokens) en frases gramaticales

3.1.3. Semántico

3.1.3.1. Comprueba la validez semántica de las sentencias aceptadas en la fase de análisis sintáctico

3.2. Síntesis

3.2.1. Generación código intermedio

3.2.1.1. Traduce la entrada a una representación independiente de la maquina pero fácilmente traducible a lenguaje ensamblador

3.2.2. Generación código objeto

3.2.2.1. Toma como entrada la representación intermedia y genera el código objeto

3.2.3. Optimización

3.2.3.1. Módulos encargados tanto de la optimización del código intermedio como del código fuente

4. Lenguajes de programación

4.1. Primera generación

4.1.1. Programación en código binario. También conocidos como lenguajes maquina o de bajo nivel

4.1.1.1. Ejemplos: FORTRAN I, ALGOL 58

4.2. Segunda generación

4.2.1. Programación empleando lenguajes simbólicos. Se introduce el concepto de subrutina, compilación separada, tipos abstractos de datos, manejor de ficheros, los punteros y el procesamiento de listas

4.2.1.1. Ejemplos: FORTRAN II, ALGOL 60, COBOL Y LISP

4.3. Tercera generación

4.3.1. Programación con instrucciones parecidas al lenguaje humano o al de las matemáticas. También conocidos como lenguajes de alto nivel. Se introducen los conceptos de programación estructurada, los subprogramas y las unidades

4.3.1.1. Ejemplos: Pascal, C, Java, PHP, entre otros

4.4. Cuarta generación

4.4.1. Lenguajes no procedurales orientados a la consulta de bases de datos. Posee capacidades gráficas, acceso a bases de datos y generación de código automaticamente

4.4.1.1. Ejemplos: SQL, NATURAL

4.5. Quinta generación

4.5.1. Se les conoce como los lenguajes de la inteligencia artificial. La clasificación como tal no se se usa demasiado

4.5.1.1. Ejemplos: Modula 3, Jess Java