Программирование на языках высокого уровня: Методические указания к выполнению курсового проекта, страница 2

  var b,i:integer;

 begin

 end;

 begin

  h;

 end;

begin

 d(a,c);

 d(b,c);

end.

2)  Программа, не имеющая вложенных блоков

int a(int& b; int c)

{ int d,e;

 }

int f(int g,h)

{ int i,j;

  a(i,j);

  a(i,i);

  a(h,i);

}

int main()

{ int d,h;

  f(d,h);

  a(d,d);

  a(h,h);

}

Выходные данные

Программа 1 в условиях статически определяемой области видимости имен

Результаты компиляции

Таблица имен программы p                    Таблица имен программы d

a integer                                                         e integer

b integer                                                         f integer

c integer                                                         a integer

d:procedure                                                    g integer

b integer

c integer

h:procedure

Таблица имен программы h

b integer

i integer

a integer

g integer

e integer

f integer

c integer

Результаты моделирования выполнения (последовательность состояний стека)

Выполнение блока p          Выполнение блока d

d

h

c

Список псевдонимов

g

Список псевдонимов

b

-

a

-

a

f

-

e

SCP

d

c

b

a

-

Выполнение блока h                      Выполнение блока d

i

h

b

g

SCP

a

h

f

g

e

a

Список псевдонимов

SCP

Список псевдонимов

f

-

d

-

e

c

SCP

b

d

a

c

-

b

a

-

Выполнение блока p                      Выполнение блока d

d

h

c

Список псевдонимов

g

 Список псевдонимов

b

-

a

b,e

a

f

-

e

SCP

d

c

b

a

-

Выполнение блока h                      Выполнение блока d

i

h

b

g

SCP

a

h

f

g

e

a

Список псевдонимов

SCP

Список псевдонимов

f

-

d

b,e

e

c

SCP

b

d

a

c

-

b

a

-

Выполнение блока p                     

d

c

Список псевдонимов

b

-

a

-

Результаты моделирования выполнения (последовательность состояний дисплея)

Выполнение блока p                      Выполнение блока d