Тип - формальный параметр - Большая Энциклопедия Нефти и Газа, статья, страница 3
Девиз Канадского Билли Джонса: позволять недотепам оставаться при своих деньгах - аморально. Законы Мерфи (еще...)

Тип - формальный параметр

Cтраница 3


Поскольку подпрограммы в ПЛ / I могут компилироваться отдельно, компилятор не может проверить идентичность описаний фактических и формальных параметров в вызовах подпрограмм. Вообще говоря, во время выполнения программы отсутствуют дескрипторы и не осуществляется динамическая проверка типа, поэтому ответственность за обеспечение соответствия между фактическими и формальными параметрами возлагается на программиста. Как правило, фактический параметр, указанный в точке вызова, должен иметь тип, совместимый с типом формального параметра.  [31]

Типы, составляющие область определения функции, принято называть типами формальных параметров. Для каждой конкретной функции данного типа операция create задает имена формальных параметров и выражение ( терм), согласно которому вырабатывается результат функции. Для получения результата функции служит операция appl, операндами которой являются сама функция и список значений аргументов фактических параметров), типы которых соответствуют типам формальных параметров.  [32]

Весьма важным является наличие слова VAR перед формальным параметром в процедуре PrintObj. В этом случае мы передаем сам объект. Если бы в процедуре PrintObj формальный параметр был описан как параметр-значение ( без слова VAR), то процедура работала бы с копией объекта, приведенной к типу формального параметра.  [33]

Второе средство для написания программ, позволяющих избежать обычных ограничений на типы данных, состоит из двух типов данных, которые можно импортировать из модуля SYSTEM. Характеристики семейства типов данных WORD содержатся в константах AdrsPerWord и CharsPesWord модуля SystemTypes. Семейство WORD обычно участвует в программе в виде типа формального параметра процедуры, когда процедура предназначается для функционирования вне зависимости от типа актуального параметра ( см. гл. Если передаваемая в процедуру переменная превышает длину, определенную для семейства типов WORD, то можно описать параметр-открытый массив, чтобы задавать практически любой объект.  [34]

35 S. Вид стека при обработке определения генератора функций. [35]

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

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

Тип функции определяет множество отображений из данной области определения в область результата. Областью определения функции является декартово произведение множеств значений нескольких типов данных ( в частности, одного), областью результата - множество значений некоторого одного типа. Отображения в область, задаваемую типом попе ( ничто) с пустым множеством значений, называются процедурами. Соответственно при задании типа функции указывается область определения и область результата, а для типа процедуры - только область определения. Составляющие области определения называются типами формальных параметров.  [38]

Количество измерений массива ( иначе его размерность) не может превышать семи. Каждая граница измерения задается арифметическим выражением, операндами которого могут быть константы, имена констант, формальные параметры и переменные из общих блоков. Операнды должны иметь тип INTEGER. Верхняя граница последнего измерения может быть задана звездочкой. В выражении не допускаются обращения к элементам массива и обращения к функциям. Операторы описания типа переменных и формальных параметров, используемых в выражении, должны предшествовать описанию массива.  [39]



Страницы:      1    2    3