Составители:
38
нения подпрограммы фактическому параметру, т. е. объекту, сопоставленному этому фор-
мальному параметру в списке соответствий оператора вызова. Входные данные подпрограм-
мы специфицируются направлением
in, выходные — направлением out, а данные, которые
воспринимаются подпрограммой и возвращаются в вызывающую программу измененными,
— как
inout. Указание категории элемента списка (constant, variable или signal)
обеспечивает контроль корректности использования подпрограммы. По умолчанию опреде-
лено, что сопоставляемый объект относится к категории
variable. Несоответствие типа
или категории фактического или формального параметра является ошибкой. Необязательное
константное выражение, завершающее представление элемента интерфейсного списка, до-
пустимо только для параметров категории
variable. Оно определяет значение по умолча-
нию, т. е. принимаемое соответствующей переменной, если при каких-либо условиях вызова
подпрограммы присвоение иного значения не предусматривается.
В разделе деклараций подпрограммы могут определяться локальные, т. е. оп-
ределенные только в теле подпрограммы, объекты: вложенные подпрограммы, типы и под-
типы данных, переменные, константы, атрибуты. Раздел операторов содержит только после-
довательные операторы.
Вызов подпрограмм подчиняется единому для процедур и функций синтаксическому
правилу:
<вызов подпрограммы>::=
<имя подпрограммы> [<список соответствий>]
<список соответствий>::=
([<Формальный параметр>] =><фактический параметр>
{, [ «Формальный параметр> ] => <фактический параметр>)})
<фактический параметр>::=
<выражение>
| <константа>
| <имя сигнала>
| <имя переменной>
| <вызов функции>
Вызов процедуры записывается в программе как отдельный оператор, а вызов функции
используется в выражениях того же типа, что и тип возвращаемого параметра, как обычная
переменная.
Предусмотрено две формы списка соответствий. Форма, в которой каждый элемент
списка содержит формальный параметр и сопоставляемый ему фактический параметр, раз-
деленные знаком
=>, называется сопоставлением по имени. Альтернативная форма содер-
жит только фактические параметры и называется позиционным сопоставлением. Позици-
онное сопоставление требует точного совпадения порядка записи фактических параметров в
списках соответствия и порядка записи формальных параметров в интерфейсном списке
подпрограммы. Если какой-либо параметр не используется или принимается значение входа,
определенное по умолчанию, соответствующая позиция в списке отмечается как пустая. При
сопоставлении по имени порядок записи не имеет значения, важно лишь совпадение имени
формального параметра с именем, указанным в декларации подпрограммы.
нения подпрограммы фактическому параметру, т. е. объекту, сопоставленному этому фор- мальному параметру в списке соответствий оператора вызова. Входные данные подпрограм- мы специфицируются направлением in, выходные — направлением out, а данные, которые воспринимаются подпрограммой и возвращаются в вызывающую программу измененными, — как inout. Указание категории элемента списка (constant, variable или signal) обеспечивает контроль корректности использования подпрограммы. По умолчанию опреде- лено, что сопоставляемый объект относится к категории variable. Несоответствие типа или категории фактического или формального параметра является ошибкой. Необязательное константное выражение, завершающее представление элемента интерфейсного списка, до- пустимо только для параметров категории variable. Оно определяет значение по умолча- нию, т. е. принимаемое соответствующей переменной, если при каких-либо условиях вызова подпрограммы присвоение иного значения не предусматривается. В разделе деклараций подпрограммы могут определяться локальные, т. е. оп- ределенные только в теле подпрограммы, объекты: вложенные подпрограммы, типы и под- типы данных, переменные, константы, атрибуты. Раздел операторов содержит только после- довательные операторы. Вызов подпрограмм подчиняется единому для процедур и функций синтаксическому правилу: <вызов подпрограммы>::= <имя подпрограммы> [<список соответствий>] <список соответствий>::= ([<Формальный параметр>] =><фактический параметр> {, [ «Формальный параметр> ] => <фактический параметр>)}) <фактический параметр>::= <выражение> | <константа> | <имя сигнала> | <имя переменной> | <вызов функции> Вызов процедуры записывается в программе как отдельный оператор, а вызов функции используется в выражениях того же типа, что и тип возвращаемого параметра, как обычная переменная. Предусмотрено две формы списка соответствий. Форма, в которой каждый элемент списка содержит формальный параметр и сопоставляемый ему фактический параметр, раз- деленные знаком =>, называется сопоставлением по имени. Альтернативная форма содер- жит только фактические параметры и называется позиционным сопоставлением. Позици- онное сопоставление требует точного совпадения порядка записи фактических параметров в списках соответствия и порядка записи формальных параметров в интерфейсном списке подпрограммы. Если какой-либо параметр не используется или принимается значение входа, определенное по умолчанию, соответствующая позиция в списке отмечается как пустая. При сопоставлении по имени порядок записи не имеет значения, важно лишь совпадение имени формального параметра с именем, указанным в декларации подпрограммы. 38
Страницы
- « первая
- ‹ предыдущая
- …
- 36
- 37
- 38
- 39
- 40
- …
- следующая ›
- последняя »