Conceptos sobre Lenguajes de Programación

Get Started. It's Free
or sign up with your email address
Conceptos sobre Lenguajes de Programación by Mind Map: Conceptos sobre Lenguajes de Programación

1. Proceso de Traducción

1.1. Compiladores

1.1.1. Toma como entrada un programa fuente

1.1.2. Genera un programa equivalente

1.1.2.1. llamado programa objeto

1.1.3. Conjunto de instrucciones de un lenguaje de alto nivel

1.1.3.1. Ejemplo: Pascal

1.1.4. Si hay un error se debe corregir y volver a compilar.

1.1.5. Ventajas

1.1.5.1. Velocidad en la ejecución

1.1.5.2. Ocupara menos espacio de memoria

1.2. Intérpretes

1.2.1. Toma como entrada un programa fuente

1.2.2. Traduce y ejecuta instrucción por instrucción

1.2.3. Cada vez que se ejecuta un prgrama se realiza la traducción

1.2.4. Ventajas

1.2.4.1. Se puede ir directamente al error y corregirlo

2. Variables

2.1. Nombre

2.1.1. Identificador

2.2. Tipo

2.2.1. Determina

2.2.1.1. Rango de valores a tomar

2.2.1.2. Operaciones que se pueden realizar

2.3. Tiempo de vida

2.4. Dirección

2.4.1. l-valor

2.4.2. Dirección de memoria a la que esta asociada la variable

2.5. Ámbito

2.5.1. Rango en que es visible una variable

2.5.1.1. Ámbito estático

2.5.1.1.1. Ligadura de nombre a variables no locakes

2.5.1.1.2. Evaluación

2.5.1.2. Ámbito dinámico

2.5.1.2.1. Secuencia de llamadas a subprogramas

2.5.1.2.2. Evaluación

2.5.1.3. Entorno de referencia

2.5.1.3.1. Todos los identificadores visibles de la sentencia

2.6. Valor

2.6.1. r-valor

2.6.2. Contenido de las celdas de memoria asociada a la variable

3. Ligadura

3.1. Ligadura Estática

3.1.1. Antes del tiempo de ejecución

3.1.1.1. Durante la ejecución es inalterable

3.2. Ligadura Dinámica

3.2.1. Durante el tiempo de ejecución

3.2.1.1. Puede cambiar mientras se ejecuta

3.3. Ligadura de tipos

3.3.1. Estática de tipos

3.3.1.1. Declaración implícita

3.3.1.2. Declaración explícita

3.3.2. Dinámica de tipos

4. Compilación

4.1. Análisis del programa fuente

4.1.1. Durante la traducción

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

4.2. Análisis léxico

4.2.1. Agrupación e identificación de caracteres elementales

4.2.1.1. Identificadores

4.2.1.2. Delimitadores

4.2.1.3. Símbolos

4.2.1.4. Palabras clave

4.2.1.5. Operadores

4.2.1.6. Comentarios

4.2.2. Requiere mayor tiempo

4.3. Análisis sintáctico

4.3.1. Identifican estructuras de programa

4.3.1.1. Enunciados

4.3.1.2. Declaraciones

4.3.1.3. Expresiones

4.3.2. Usa los elementos léxicos

4.3.3. Se cominica con el analizador semántico

4.3.3.1. mediante una pila

4.4. Análisis semántico

4.4.1. Modula la traducción

4.4.2. Mantenimiento de las tablas de simbolos

4.4.3. Detección de errores

4.4.4. Expansión de macros

4.4.5. Ejecución de enunciados

4.5. Tabla de símbolos

4.5.1. Estructuras de datos medulares

4.5.2. Por cada identificador diferente encontrado

4.5.2.1. Contiene una entrada

4.5.2.1.1. Contiene datos respecto a los atributos

4.5.3. Los analizadores semánticos introducen la información

4.6. Síntesis del programa objeto

4.6.1. Esta fase implica

4.6.1.1. Generación de código

4.6.1.2. Optimización del programa generado

4.7. Generación de código

4.7.1. Implica dar formato apropiado a la salida

4.7.1.1. El código de salida puede ser directamente ejecutable

4.7.1.2. Puede haber otros traducción como

4.7.1.2.1. Ensamblado o vinculación y carga

4.8. Programa objeto

4.8.1. Progama ejecutable final listo para su uso

5. Interpretación

5.1. Analiza el código y realiza los cómputos que se indique

5.1.1. Directamente o mediante alguna representación intermedia

5.1.1.1. Generalmente de dos tipos

5.1.1.1.1. Un código de bajo nivel

5.1.1.1.2. Una estructura de datos.