6.2 Control de secuencia en subprogramas.
Las características de control de datos de un LP son aquellas partes relacionadas con la accesibilidad de los datos en diferentes puntos durante la ejecución de un programa.
6.2.1 Nombres y ambientes de referencia.
Básicamente sólo hay dos formas en las cuales un objeto dato queda disponible para una operación:
![]() | Transmisión directa. |
Por ejemplo, el resultado de la operación 2*2 se transmite directamente a la operación de suma, como un operando, en la sentencia x:=y+2*2. En este caso, tiene el objeto una atribución temporal de espacio, pero nunca se le da un nombre.
![]() | Referencia a un objeto nombre |
A un objeto se le puede dar un nombre cuando es creado, y el nombre puede entonces ser usado para designarlo como operando en una operación.
6.2.2 Scope estático y dinámico.
El scope dinámico de una asociación para un identificador, es el conjunto de activaciones de subprograma en las cuales la asociación es visible durante la ejecución.
Ahora, si nos centramos en el texto de un programa, cada declaración u otra definición de un identificador dentro de un programa tiene un cierto scope, llamado scope estático.
6.2.3 Estructura de bloque.
El concepto de estructura de bloque, tal como se encuentra en los fundamentos de Pascal y Ada merece una atención especial.
En un lenguaje de bloques estructurados cada programa o subprograma se organiza como un conjunto de bloques anidados.
La característica clave de un scope, es que introduce un nuevo ambiente de referenciación local.