Conceptos de Lenguajes de Programación

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

1. Interpretación

1.1. Compiladores

1.1.1. Programa traductor

1.1.2. Solo ejecuta la traducción(no el programa)

1.2. Intérpretes

1.2.1. Procesa lenguajes de alto nivel

1.2.2. Separa etapas de traducción y ejecución

1.2.3. Traduce linea a linea a código máquina

1.2.4. Se ejecuta inmediatamente después de traducir cada linea

1.2.5. Trabaja con la PC interactivamente

1.2.6. Da ordenes al procesador

1.2.7. Se sitúa en la RAM

1.3. Comparación

1.3.1. Un programa compilado es más rápido que un interpretado porque el uno esta en lenguaje máquina.

1.3.2. Los interpretes facilitan el desarrollo.

1.3.3. Los compiladores están pensados para programas que no se esperan ccambios

2. Ambito

2.1. Ámbito estático

2.1.1. Ligaduras variables no locales

2.1.2. Cada subprograma crea su propio ámbito.

2.1.3. Todos los subprogramas tienen padre estático.

2.1.4. Variables locales

2.1.5. Acceso a variables no locales adecuado.

2.2. Ámbito dinámico

2.2.1. secuencia de llamadas a subprogramas.

2.2.2. Se determina en tiempo de ejecución.

2.2.3. Desventajas

2.2.3.1. No hay como encapsular las variables.

2.2.3.2. No se puede realiza comprobación estática a las referencias no locales.

2.2.3.3. Menor ortogonalidad en el código.

2.3. Rango

2.3.1. Locales

2.3.1.1. Solo visible en ciertos bloques de código

2.3.2. No locales

2.3.2.1. Visibles en cierto bloques pero no declarados en ellos.

2.4. Entorno de Referencia

2.4.1. Ámbito estático

2.4.1.1. Ámbito local más todas las variables visibles de sus antepasados estáticos.

2.4.2. Ámbito dinámico

2.4.2.1. Variables locales más todas las variables visibles del resto de subprogramas activos.

3. Traslación lenguajes de programación.

3.1. Compilación

3.1.1. Traducción

3.1.1.1. Programa fuente

3.1.1.1.1. Descomposición del programa

3.1.1.1.2. Generación del programa objeto

3.1.1.2. Traductores

3.1.1.2.1. Ensamblador

3.1.1.2.2. Editor de vínculos

3.1.1.2.3. Preprocesador o un macreoprocesador

3.1.1.3. Serie larga de pasos.

3.2. Análisis del programa fuente

3.2.1. Análisis de miles o decenas de miles de caracteres.

3.3. Análisis léxico

3.3.1. Agrupar serie de caracteres

3.3.1.1. Identificadores

3.3.1.2. Delimitadores

3.3.1.3. Símbolos de operadores

3.3.1.4. Números

3.3.1.5. Palabras clave

3.3.1.6. Simbolizaría especifica

3.3.2. Tiene resultantes

3.3.2.1. Unidades básicas

3.4. Análisis sintáctico

3.4.1. Identificar estructuras más grandes

3.4.1.1. Enunciados

3.4.1.2. Declaraciones

3.4.1.3. Expresiones

3.4.2. Se comunica con el análisis semántico.

3.4.3. Pila de elementos.

3.5. Análisis semántico

3.5.1. Fase medular.

3.5.2. Código objeto toma forma.

3.5.2.1. Forma interna del programa ejecutable final.

3.5.3. Ejecución de funciones

3.5.3.1. Mantenimiento tabla de control

3.5.3.2. Detección de errores

3.5.3.3. Expansión de macros

3.5.3.4. Ejecución de enunciados de tiempo de compilación

3.6. Tabla de símbolos

3.6.1. Estructura de datos

3.6.1.1. Mantenimiento

3.6.1.1.1. Construcción de código ejecutable eficiente

3.6.2. Detección de errores

3.7. Síntesis del programa objeto

3.7.1. Etapa final de traducción.

3.7.2. Optimizan de código.

3.8. Creación de código

3.8.1. Traducción a lenguaje ensamblador

3.8.2. Formateo de la traducción de salida

3.9. Programa Objeto

3.9.1. Vinculación y carga

3.9.2. Etapa optativa

3.9.3. Vinculación de todas las partes del proceso de traducción.

3.9.4. Se genera el código final de ejecución