Ejemplo ámbito estático: Pascal :
Ejemplo ámbito estático: Pascal program uno ;
var
a, b : Tipo ;
procedure pr1 (p1, p2 : Tipo);
var
c, d: Tipo ;
function pr2 (p3, p4, p5: Tipo): Tipo;
var e, c: Tipo ;
begin … end ;
procedure pr3 (p6, p7: Tipo);
begin pr2 … end ;
begin pr3 … end ;
function pr4: Tipo;
var f : Tipo ;
begin … end ;
begin pr1 … end
Slide 3:
Problemas a resolver:
Control del alcance de cada declaración
Varios objetos con el mismo nombre accesibles
Posibles soluciones:
Una subtabla para cada bloque.
Gestión como pila
Ejemplo :
program uno ;
var a, b : Tipo ;
procedure pr1 (p1, p2 : Tipo);
var c, d: Tipo ;
function pr2 (p3, p4, p5:Tipo):Tipo;
var e, c: Tipo ;
begin … end ;
procedure pr3 (p6, p7: Tipo);
begin pr2(3,4,5) end ;
begin pr3(6,7) … end ;
function pr4: Tipo;
var f : Tipo ;
begin … end ;
begin pr1(1,2) end Ejemplo
Ejemplo :
Ejemplo program uno ;
var a, b : Tipo ;
procedure pr1 (p1, p2 : Tipo);
var c, d: Tipo ;
function pr2 (p3, p4, p5:Tipo):Tipo;
var e, c: Tipo ;
begin … end ;
procedure pr3 (p6, p7: Tipo);
begin pr2(3,4,5) end ;
begin pr3(6,7) … end ;
function pr4: Tipo;
var f : Tipo ;
begin … end ;
begin pr1(1,2) end
Ejemplo :
Ejemplo program uno ;
var a, b : Tipo ;
procedure pr1 (p1, p2 : Tipo);
var c, d: Tipo ;
function pr2 (p3, p4, p5:Tipo):Tipo;
var e, c: Tipo ;
begin … end ;
procedure pr3 (p6, p7: Tipo);
begin pr2(3,4,5) end ;
begin pr3(6,7) … end ;
function pr4: Tipo;
var f : Tipo ;
begin … end ;
begin pr1(1,2) end