Языки программирования. Практический сравнительный анализ


Языки программирования. Практический сравнительный анализ - стр. 209


Время существования статических объектов совпадает с полным временем выполнения всей программы. Время существования квазистатических объектов согласуется с временем очередного исполнения их статически определимой области действия.

Область действия объекта - это часть текста программы, при выполнении которой объект считается доступным (например, для чтения или записи его значения, для передачи объекта в качестве параметра и т.п.).

Например, в Алголе 60 областью действия переменной служит тот блок, в котором эта переменная объявлена (за вычетом тех блоков, где объявлен объект с тем же идентификатором). Так что переменная в Алголе - типичный квазистатический объект. Статическими в Алголе могут считаться лишь переменные самого внешнего блока или процедуры.

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

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

Когда ЯП не предоставляет адекватных выразительных средств, существенно динамические объекты приходится моделировать с помощью квазистатических объектов или их частей. Например, создавая на Алголе процедуры для работы с такими динамическими объектами, как элементы очередей, списков, таблиц, стеков, приходится моделировать их совокупностью компонент статических массивов.

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


- Начало -  - Назад -  - Вперед -