Traslación de Lenguajes de Programación

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

1. Compilación

1.1. Los traductores se agrupan según el número de pasos que realizan sobre el programa fuente.

1.1.1. El compilador estándar tiene dos pasos: la obtención de la información y la generación de un programa objeto.

1.1.1.1. Hay varios tipos de traductores:

1.1.1.1.1. Ensamblador: su lenguaje objeto es una variedad del lenguaje maquina pero su lenguaje fuente constituye una representación simbólica del código de maquina.

1.1.1.1.2. Compilador, cuyo lenguaje fuente es de alto nivel y su lenguaje objeto se aproxima al lenguaje de máquina.

1.1.1.1.3. Cargador o editor de vínculos, cuyo lenguaje objeto es un codigo de maquina y su lenguaje fuente es casi idéntico.

1.1.1.1.4. Preprocesador o un macroprocesador, cuyo lenguaje fuente es la forma ampliada de un lenguaje de alto nivel y su lenguaje objeto es su forma estándar.

2. Análisis del programa fuente

2.1. El programa fuente se presenta como una serie de simbolos compuesta por miles de carácteres.

2.2. Durante la traducción se contruye carácter por carácter, un análisis de la estructura del programa.

3. Análisis léxico

3.1. La fase fundamental es agrupar la serie de caracteres en sus constituyentes elementales. (Elementos léxicos)

3.1.1. El analizador léxico debe identificar y marcar cada tipo de elemento léxico.

3.1.1.1. El modelo que se usa para proyectar analizadores léxicos es el autóma de estados finitos.

3.1.1.1.1. Esta fase de la traducción es las más demorada, analiza el programa fuente carácter por carácter.

4. Analisis Sintáctico

4.1. En esta fase se identifican las estructuras de programa que forman una unidad sintáctica: subprograma o declaración.

4.1.1. Entonces se llama a un analizador semántico para que procese esta unidad.

4.1.1.1. El analizador sintáctico y semántico se comunican mediante una pila.

5. Análisis semántico

5.1. Es talvez la fase medular de la traducción.

5.1.1. Se procesan las unidades sintácticas, donde empieza a tomar forma el código objeto ejecutable.

5.1.1.1. Es por tanto el puente entre el análisis y la síntesis de la traducción.

5.1.1.1.1. Es comun que la salida de esta etapa sea una forma interna del programa ejecutable final.

6. Tabla de símbolos

6.1. El analizador semántico se divide en otros analizadores que interactúan entre sí a través de la información de la tabla central de símbolos.

6.1.1. Las funciones exactas de los analizadores semánticos varían segun el lenguaje y la organizacion logica del traductor.

6.1.1.1. Algunas de las funciones mas comunes serian:

6.1.1.1.1. Mantenimiento de tablas de símbolos

6.1.1.1.2. Detección de errores

7. Síntesis del programa objeto

7.1. Implica generación de código a partir de las salidas del analizador semántico.

7.1.1. Antes de la generación de código se optimizan las salidas del analizador semántico.

8. Generación de código

8.1. Se transforma los enunciados en lenguaje ensamblador o código de máquina.

8.1.1. El código de salida puede ser ejecutable o tener otros pasos por seguir.

9. Programa objeto

9.1. Etapa final, los fragmentos de codigo se funden en el programa final.

9.1.1. El resultado es el programa ejecutable final.

10. Interpretación

10.1. Cualquier lenguaje de alto nivel debe traducirse a lenguaje maquina.

10.1.1. Para esto se usan softwares llamados compiladores e interpretes. (Traductores)

10.1.1.1. Compiladores

10.1.1.1.1. Traduce el programa fuente a programa objeto. No ejecuta el programa

10.1.1.2. Intérpretes

10.1.1.2.1. Traduce cada instrucción a código maquina y la ejecuta inmediatamente.

10.1.1.3. Comparación entre interpretes y compiladores:

10.1.1.3.1. La ventaja de los interpretes reside en que el análisis sintáctico se puede ir realizando cuando se interpreta.