Compiladores

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

1. Lenguajes de programacion

1.1. Estructurados

1.1.1. La resolución de un problema se divide en tareas y estas en subtareas

1.1.1.1. C

1.1.1.2. Pascal

1.1.1.3. Fortran

1.2. Orientados a objetos

1.2.1. Programación basada en módulos deducidos de los tipos de objetos que manipula

1.2.1.1. C#

1.2.1.2. C++

1.2.1.3. Java

1.3. Declarativos

1.3.1. Se implementan como conjuntos de funciones o reglas lógicas cuya evaluación darán lugar al resultado deseado

1.3.1.1. LISP

1.3.1.2. PROLOG

2. son los encargados de traducir los programas escritos en cualquier lenguaje de programación a uno que sea equivalente y entendible por la maquina

2.1. tipos

2.1.1. Compiladores cruzados

2.1.1.1. son utilizados para crear el código en lenguaje maquina para una maquina diferente en la que se esta compilando

2.1.2. Compiladores optimizados

2.1.2.1. lee el código fuente, lo analiza y descubre errores si existen, todo esto sin ejecutar el programa

2.1.3. compiladores por pasada

2.1.3.1. De una pasada

2.1.3.1.1. Examina el codigo una vez y genera el codigo para la maquina

2.1.3.2. De varias pasadas

2.1.3.2.1. requiere de varias pasadas para producir y optimizar el código producido

2.1.4. Metacompilador

2.1.4.1. Compilador de compiladores

2.1.5. Descompilador

2.1.5.1. Realiza el proceso inverso a la compilación. recibe un programa en código maquina para transformarlo a un código escrito en un lenguaje de programación de alto nivel

2.2. Estructura de un compilador

2.2.1. Estructura encargada del analisis

2.2.1.1. Lexico

2.2.1.1.1. Comprueba los valores del programa:

2.2.1.2. Sintactico

2.2.1.2.1. Recibe los elementos del analizador léxico y comprueba que están ordenados conforme a la gramatica

2.2.1.3. Semantica

2.2.1.3.1. Comprueba la validez del programa

2.2.1.3.2. Comprueba los tipos de operadores

2.2.2. Estructura encargada de la sintaxis

2.2.2.1. Generador de código intermedio

2.2.2.1.1. se codifica el lenguaje fuente en lenguaje ibjeto

2.2.2.2. Optimizacion intermedia

2.2.2.2.1. Realiza mejoras en el código intermedio

2.2.2.3. Generación y optimizacion final

2.2.3. Tabla de simbolos

2.2.3.1. Se registran los identificadores. constantes, funciones y otros objetos especificados en el programa fuente

2.2.4. Manejo de errores

2.2.4.1. Mensajes de error que el compilador muestra cuando encuentra una inconsistencia en cualquiera de las fases de compilacion

2.2.4.1.1. Se puede