Конспект установочных лекций по комплексному курсу Информатика, Теория информации




Объявление элемента - часть 2


[nаt х = 1; [nat у = 2; у ] + х ].

Систематическое переименование идентификаторов в локальных объявлениях в блоке (аналог

-редукции) не меняет значения блока.

В программном выражении какой-либо идентификатор может объявляться повторно - тем самым принимаются различные соглашения относительно его связывания, и тогда один и тот же идентификатор в разных местах выражения будет иметь различные значения. Впрочем, все эти области связанности должны быть вложенными. Поэтому при наличии объявлений необходимо делать различие между областью действия объявления и длительностью жизни связывания идентификатора. В разделе

[s x=- El; E2]

соглашение о связывании идентификатора х со значением Е1 имеет силу во всей области, находящейся между угловыми скобками, в частности и в E2, причем действие этого соглашения прерывается с помощью соглашений, принимаемых (через соответствующие объявления) в E2. Это проясняет различие между длительностью жизни и областью видимости связывания. Длительность жизни, т.е. область связанности, охватывает всю область между угловыми скобками (т.е., в частности, и полностью E2). А область видимости соответствует длительности жизни за вычетом внутренних блоков с новыми связываниями для х.

С помощью объявления элемента устанавливаются конкретизации для соответствующего идентификатора. Область действия такой конкретизации ограничивается угловыми скобками. Внутри угловых скобок х стоит в качестве значения выражения Е1. Семантически это означает, что E2 интерпретируется с соответствующим изменением конкретизации для х. Значение I[G] объявления G можно понимать как "точечное" (локальное) изменение подстановки и тем самым как отображение между конкретизациями.

Caмo объявление не обладает никаким простым элементом данных в качестве значения, поэтому оно не вычисляется непосредственно с помощью правил подстановки термов. В дальнейшем будет даваться исключительно правило для вычисления значения выражения, в котором встречается объявление.

Все сказанное относительно связывания, видимости, длительности жизни и свободности или связанности идентификаторов для абстракции функций справедливо и для объявлений.




Содержание  Назад  Вперед