9.1 Modelo de pila.
Busca describir la semántica desde el punto de vista del implementador. Consiste de tres componentes:
Registro de activación:
Static Link: Puntero al R.A. del bloque que contiene (inmediatamente) al bloque en ejecución.
Dynamic Link: Puntero al lugar desde donde fue "llamada" la ejecución del bloque. (Para bloques "no-subprogramas" es S.L. es siempre igual al D.L.)
Registro de activación procedure:
Registro de activación con array:
begin real x; real array A[1:10]; B[m:n] real y
Dope vector A: Límites de variación; puntero a la posición en el R.A. donde comienza array A, tipo, etc.
Ejemplo.
1 begin integer a; 2 procedure p(i); value i; integer i; 3 begin a:=i; 4 end 5 begin integer a; 6 a:=1; 7 p(a); 8 end 9 end