Инструкции, выражения и элаборация
Очевидно, что исполнение инструкций осуществляется во время выполнения программы с целью выполнить какие-либо действия.
Также, во время выполнения программы осуществляются вычисления различных выражений для получения значений каких-либо типов.
Кроме того, во время выполнения программы происходит вычисление различных имен, которые указывают на соответствующие объекты (содержащие какие-либо значения) или другие сущности (такие как подпрограммы и типы).
Некоторые конструкции языка содержат описательные части, сопровождаемые последовательностями инструкций.
Например, тело процедуры может иметь следующий вид:
procedure P( ... ) is
I: Integer := 1; -- описательная часть . . . begin . . . -- последовательность инструкций I := I * 2; . . . end P; |
Перед выполнением тела процедуры происходит элаборация (elaboration) всех описаний, которые указаны в описательной части.
Последовательность элаборации описаний определяется порядком их следования в описательной части.
Эффект от элаборации описаний заключается в создании сущностей, определенных в описаниях, и в выполнении прочих действий, которые специфичны для описаний.
Например, элаборация описания переменной может осуществить инициализацию этой переменной значением, которое определяется результатом вычисления какого-либо выражения.
Достаточно часто значения подобных выражений могут быть вычислены в процессе компиляции программы.
После завершения элаборации, осуществляется исполнение последовательности инструкций, в порядке их следования (за исключением случаев, когда осуществляется передача управления в какое-либо другое место, отличное от последующей инструкции).
Инструкция присваивания позволяет заменить значение переменной результатом вычисления выражения того же самого типа.
Обычно, присваивание осуществляется простым побитовым копированием значения, которое получено в результате вычисления выражения.
Однако, в случае нелимитированных контролируемых типов, после осуществления побитового копирования, пользователь (при необходимости) может определить дополнительную последовательность действий.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий