Variables, ámbito y comprobación de tipos

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
Variables, ámbito y comprobación de tipos por Mind Map: Variables, ámbito y comprobación de tipos

1. Tipos

1.1. Comprobación de tipos

1.1.1. Generalización de los conceptos de operandos y operadores

1.1.1.1. Subprogramas → operadores cuyos operandos son sus parámetros 

1.1.1.2. Asignación → operador binario cuyos operandos son la variable a la que se asigna el valor y la expresión a evaluar

1.1.2. Tipos compatibles

1.1.2.1. Coacción

1.1.2.1.1. Un tipo legal para el operador puede ser convertido implícitamente mediante código generado por el compilador

1.1.3. Error de tipos:

1.1.3.1. Aplicación de un operador a un operando de tipo inapropiado

1.2. Disciplina de tipos (strong typing)

1.2.1. Un lenguaje tiene disciplina de tipos si los errores de tipos se detectan siempre

1.3. Compatibilidad de tipos

1.3.1. Compatibilidad de tipos estructural

1.3.1.1. Dos variables tienen tipos compatibles si sus tipos tienen la misma estructura

1.3.2. Compatibilidad de tipos nominal

1.3.2.1. Dos variables tienen tipos compatibles si están ligadas al mismo nombre de tipo

1.3.3. Subtipo

1.3.3.1. Versión de un tipo existente con el que es compatible.

1.3.4. Tipo derivado

1.3.4.1. Nuevo tipo basado en algún otro previamente definido con el que es incompatible, aunque sean estructuralmente idénticos.

2. Ámbito

2.1. Rango de sentencias en las que es visible la variable

2.2. Una variable es local en una unidad de programa o bloque si está declarada en él.

2.3. Ámbito estático

2.3.1. Método de ligadura de nombres a variables no locales que ocurre en tiempo de compilación

2.3.2. Una declaración de una variable oculta cualquier declaración de otra variable con el mismo nombre

2.3.3. Evaluación del ámbito estático

2.3.3.1. Proporciona un método de acceso a variables no locales adecuado en la mayoría de los casos

2.4. Ámbito dinámico

2.4.1. Basado en la secuencia de llamadas a subprogramas y no en la relación sintáctica

2.4.2. Padre dinámico, el subprograma que realizó la llamada.

2.4.3. Evaluación del ámbito dinámico

2.4.3.1. Una sentencia que contiene una referencia a una variable no local puede relacionarse con variables diferentes al momento de la ejecución

2.5. Entorno de referencia

2.5.1. Colección de todos los identificadores visibles en dicha sentencia

2.5.2. Lenguajes con ámbito estático

2.5.3. Lenguajes con ámbito dinámico

3. Variables

3.1. Nombre

3.1.1. Cadena de caracteres para reconocer alguna entidad del programa

3.1.2. Palabras Especiales

3.1.2.1. Palabras reservadas utilizadas por el lenguaje de programación o nombres predefinidos

3.1.3. Palabras Clave

3.1.3.1. Sólo son palabras especiales en determinados contextos

3.2. Dirección

3.2.1. Dirección de memoria a la que esta asociado una variable, un mismo nombre puede tener diferentes direcciones en varias partes del programa

3.2.2. Obtener dirección de memoria &nombre de variable

3.3. Valor

3.3.1. Valor que se almacena en el espacio asignado de memoria

3.4. Tipo

3.4.1. Determina el rango de valores que puede tomar la variable y el conjunto de operaciones definidas para los valores del tipo

3.5. Tiempo de vida

3.6. Ámbito

4. Ligaduras

4.1. Asociación entre atributo y una entidad

4.2. Tiempo de ligadura

4.2.1. Momento en el que se produce la asociación

4.2.2. Tiempo de compilación

4.2.3. Tiempo de linkado

4.2.4. Tiempo de ejecución

4.2.5. Tiempo de carga

4.3. Ligadura Estática

4.3.1. Si ocurre antes del tiempo de ejecución y permanece inalterable durante la ejecución del programa

4.4. Ligadura Dinámica

4.4.1. Si ocurre durante del tiempo de ejecución o puede cambiar en el transcurso de la ejecución del programa

4.5. Ligaduras de tipos

4.5.1. Ligadura estática de tipos

4.5.2. Ligadura dinámica de tipos

4.6. Ligadura de espacio y tiempo de vida

4.6.1. Variables estáticas

4.6.2. Variables dinámicas de pila

4.6.3. Variables dinámicas de montón (heap)

4.6.3.1. Explícitas

4.6.3.2. Implícitas

5. Constantes

5.1. Objeto al que se liga un valor en el momento de ligado de espacio, el valor es fijo y no cambiara en ningún momento de la ejecución

6. Inicialización de variables

6.1. Inicialización

6.1.1. Ligadura de un valor a una variable

6.1.2. Variables estáticas

6.1.2.1. La inicialización solo se da una vez

6.1.3. Variables con ligadura dinámica de espacio

6.1.3.1. Es una inicialización dinámica

7. REALIZADO POR: Angel Morocho Salinas