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




Объявление элемента


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

Область связанности, порождаемая объявлением ограничивается блоком, в начале которого и помещаются объявления. Пусть G -объявление, а ЕО - выражение. Тогда

[О; EO]

есть блок. Угловые скобки называют скобками блока. Они ограничивают область действия объявления G,

т.е. область связанности идентификатора, порождаемую объявлением G. Это значит, соглашение о том, что объявленный в G идентификатор стоит в качестве соответствующего значения, действительно только внутри скобок блока.

Синтаксис объявления элемента описывается следующим БНФ-правилом:

<объявление_элемента>:: =<тип><идентификатор>=<выражение>

Пусть для объявления элемента справедливы следующие дополнительные условия:

·

тип выражения Е есть s;

·         х не входит свободно в Е.

Второе условие указывает на то, что в модельном языке не допускаются рекурсивные объявления элементов.

Пример (объявление элемента). С помощью объявления

nat х = 3 + 4

принимается соглашение о том, что х имеет значение 7. Это объявление может использоваться в каком-либо блоке. Блок

[nat x =3+4;x*x]

имеет тогда значение 49. Внутри блока х стоит в качестве значения 7.

В ЯП вместо угловых скобок часто записываются также begin и end. Тогда блок будет записываться в виде

begin s х = El; E2 end

Скобки блока begin (соответствующая [) и end (соответствующая ]) ограничивают область действия описания для идентификатора х. Внутри этой области могут приниматься другие, вложенные соглашения, и тогда исходное соглашение на время теряет свою силу (становится "невидимым"). Так, значение блока

[nat х= 1; [nat х =2; х ] + х ] идентично блоку




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