Procesos fundamentales de los lenguajes de programación

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Procesos fundamentales de los lenguajes de programación por Mind Map: Procesos fundamentales de los lenguajes de programación

1. Análisis sintáctico

1.1. Segunda etapa de traducción

1.2. Analizador lexico

1.2.1. Se identifican las estructuras mas grandes

1.2.1.1. Enunciados

1.2.1.2. Declaraciones

1.2.1.3. Expresiones

1.2.1.4. Entre otras

1.3. Se alterna con el análisis sintáctico

1.4. Procesa el resultado del analizador semántico

1.4.1. Análisis semántico

1.4.1.1. Identifica los elementos léxicos

1.4.1.1.1. Forman una unidad sintáctica

1.5. Se comunica con el analizador semántico usando una pila

1.6. Recupera y procesa datos de la pila creado por el analizador semántico

2. Análisis semántico

2.1. Fase medular del proceso de traducción

2.2. Se procesan las estructuras sintacticas

2.3. Es el puente entre la parte del análisis y la síntesis de traducción

2.4. Funciones subsidiarias importantes

2.4.1. Almacenamiento de la tabla de simbolos

2.4.2. Detección de errores

2.4.3. Expansión de marcos

2.4.4. Ejecución de enunciados (Compilación)

3. Tabla de simbolos

3.1. Mantenimiento

3.1.1. Estructura de datos medulares de todo traductor

3.1.2. Contiene una entrada por cada identificador del programa fuente

3.1.3. Contiene datos adicionales respecto al atributo del identificador

3.1.3.1. Tipo

3.1.3.1.1. Variable simple

3.1.3.1.2. Nombre del arreglo

3.1.3.1.3. Nombre del subprograma

3.1.3.1.4. Parámetro formal

3.1.3.2. Tipo de valores

3.1.3.2.1. Enteros

3.1.3.2.2. Flotantes

3.1.3.3. Entorno de referimiento

3.1.3.4. Información de entrada a través de declaraciones y uso

3.2. Detección de errores

4. Interpretación

4.1. Compiladores

4.1.1. Traduce el programa fuente a programa objeto

4.1.2. Ejecuta solo la traducción

4.1.3. Da como resultado el programa objeto

4.2. Interpretes

4.2.1. Procesa los programas escritos en lenguajes de alto nivel

4.2.2. No existe independencia entre la traducción y la ejecucción

4.2.3. Traduce cada instrucción a código máquina e inmediatamente lo ejecuta

4.2.4. El procesador ejecuta una orden una vez esta traducida

4.2.5. Se sitúa en la RAM

5. Análisis de programa fuente

5.1. Serie larga y no diferenciada de simbolos

5.2. Compuesta por miles de caracteres

5.3. Estructurado

5.3.1. Subprogramas

5.3.2. Enunciados

5.3.3. Declaraciones

5.3.4. Entre otros

5.4. Se construye un análisis de la estructura del programa

6. Análisis lexico

6.1. Agrupa unas serie de caracteres (constituyentes elementales)

6.1.1. Identificadores

6.1.2. Delimitadores

6.1.3. Símbolos de operación

6.1.4. Números

6.1.5. Palabras clave

6.1.6. Palabras pregonables

6.1.7. Espacios en blanco

6.1.8. Comentarios

6.2. Compuesto por elementos lexicos

6.2.1. Unidades básicas del programa

6.3. Pasos del traductor

6.3.1. Lee renglones sucesivos del lenguaje de entrada

6.3.2. Descompone elementos

6.3.3. Alimenta los elementos léxicos para etapas posteriores

6.4. Analizador léxico

6.4.1. Identifica el tipo de cada elemento léxico

6.4.2. Adjunta una marca de tipo

6.4.3. Se realiza una conversión a una representación interna

6.4.3.1. Números

6.4.3.1.1. De punto fijo a flotante

6.4.3.2. Identificadores

6.4.3.2.1. Se almacenan en la tabla de símbolos

6.4.3.2.2. Usan la dirección de la tabla de simbolos

6.5. Autómata de estados infinitos

6.6. Requiere una mayor proporción de tiempo de traducción

6.6.1. Explora y analiza el programa fuente carácter por carácter

7. Síntesis del programa objeto

7.1. Generación del código

7.2. Optimización del programa generado

8. Generación de codigo

8.1. Da formato apropiado a la salida del programa

8.2. Se transforma los enunciado en lenguaje ensamblador

8.3. Puede ser ejecutable o puede haber mas pasos a seguir

9. Programa objeto

9.1. Vinculación y carga

9.2. Etapa final de la traducción

9.3. El resultado de las traducciones se funden en el ejecutable

9.3.1. Excepto cuando los programas hacen referencia

9.3.1.1. Datos externos

9.3.1.2. Subprogramas

9.4. Cargador vinculador

9.4.1. Carga diversos segmentos de código traducido en la memoria

9.4.2. Introduce datos y direcciones de subprograma en el código

9.5. El resultado es el programa final para ejecutarse