ГОСТ 27831-88 сторінка 48 з 49
описание.пакета :: = спецификация.пакета;
спецификация-пакета :: —
package идентификатор is
{основной-элемент.описания}
[private]
{основной_элемент_описания} ]
end [простое_имя_пакега]
тело—Пакета :: =
package body простое _имя_лакете is
[раздел-описаний]
[begin
последовательность-операторов
[exception
обработчик- включения
{обработчик.исключения}] ]
end [простое.имя .пакета] ;
7.4 описание-личного_типа ;: =
type идентификатор [раздел_дискриминантов] is [limited] private;
описание—субконстанты :: = список_идентификаторов : constant обозначение.типа; 8.4
спецификатор .использования :: = use имя. пакета {, имя.пакете}-; 8.5
описание.переименования :; =
идентификатор : обозначение.типа renames кмя-Объекта;
-
идентификатор : exception renames имя-исключения;
I package идентификатор renames имя.пакета;
і спецификации-подпрограммы renames имя-подпрограммы _или-входа;
описание .задачи :: = спецификация, задачи;
спецификация-задачи :: =
task [type] идентификатор [is
{описание -входа}
{спецификатор.пр ед ставлення}
end [простое-имя-Задачи] ] ;
тело-Задачи :: =
task body простое—имя-Задачи is
[раздел .описаний ]
'begin
последовательность-операторов
[exception
обработчик.исключения
{обработчик-исключения} ]
end [простое_имя_задачи] ;
-
описание_входа:: =
entry идентификатор [ (дискретный_диапазон) ]
[раздел „формальных-Параметров] ;
оператор_вызова_входа :: = имя-входа [раздел_фактических_параметров] ; оператор_принятия :: =
accept простое_имя_входа [(индекс„входа) ]
[раздел „формальных „параметров] [do последовательность-операторов end [простое—имя „входа] ] ;
инДекс_входа :: = выражение
оператор „задержки :: = delay простое_выражение;
оператор_отбора :: = отбор_с_ожйданием | условный_вызов „входа
I временной_вызов_входа
9.7.1
отбор_с_ожиданием :: =
select
альтернатив а -отбора
{от
альтернатива_отбора}
[else
последовательность—операторов ]
end select;
альтернатива_отбора :: =
[when условие = >]
альтернатива_отбора_с_ожиданием
альтернатива_отбора_с „ожиданием :: = альтернатива_принятия
I альтернатива_задержки | альтернатива„завершения
альтернатива_принятия :: = оператор_принятия [последовательность-операторов] альтернатива_задержки :: = оператор „задержки [последовательность_операторов] альтернатива_завершения :: = terminate;
9.7.2
условный-вызов _входа :: =
select
оператор _вызова_ входа
[последовательность—операторов]
else
последовательность_операторов
end select;
9.7.3
временной-вызов-входа :: =
select
оператор _вызова_входа
[последовательность_операторов] or
альтернатива„задержки
end select;
9.10
оператор-прекращения :: = abort имя „задачи {, имя-задачи У;
10.1
компиляция :: = {компилируемый—модуль}
компилируемый-модуль :: = спецификатор-контекста библиотечный_модуль
I спецификатор .контекста вторичный_модуль
библиотечный-модуль :: = описание-подпрограммы
I описание.пакета | описание „настройки
I конкретизация-Настройки | тело.подпрограммы
вторичный_модуль :: = тело_библиотечного_модуля | субмодуль тело-библиотечного_модуля :: = тело-подпрограммы | тело_пакета 10.1.1
спецификатор-контекста :: =•
£ спецификатор-совместности < спецификатор-использования} }• спецификатор-совместности :: =
with простое—имя—модуля {, простое—имя—модуля}-;
10.2
след_тела :: = спецификация-Подпрограммы is separate;
I package body простое_имя_/шкега is separate;
I tack body простое_имя_зедвчи is separate;
субмодуль :: = separate (имя-родительского^модуля) соответствующее_тело
описание-исключения = список_идентификаторов : exception;
обработчик-исключения :: =
when выбор_исключения { I выбор-исключения }= > последовательность-операторов
выбор-исключения :: = имя-исключения | others
оператор-возбуждения = raise [имя-исключения ];
12.1
описание-настройки :: = спецификация_настройки;
спецификация-Настройки :: =
раздел -формальных -Параметров -настройки спецификация.подпрограммы
I раздел-формальных-параметров-Настройки спецификация-Пакета раздел—формальных— параметров—настройки:: =
generic -{описание-гіараметра_настройки J
описание_параметра_настройки :: —
список—идентификаторов:
[in [out] ] обозначение_типа [: = выражение] ;
I type идентификатор is определение_настраиваемого_типа;
I описание-Личного—типа
I with спецификации-подпрограммы [is имя] ;
I with спецификации-подпрограммы [is < >] ; определение_настраиваемого_типа :: =
(< >) I range < > I digits < > I delta < >
І определение_индексируемого_типа I определение ссылочного_типа 12.3
конкретизация-настройки :: =
package идентификатор is new имя-настраиваемого -пакета [раздел_фактических_параметров_настройки] ‘
I procedure идентификатор is new имя-настраиваемой-процедуры [раздел-фактических-параметров-настройки] ;
I function обозначение is new имя-настраиваемой-функции [раздел-фактических-параметров-настройки] ;
раздел-фактических-параметров-настройки :: =
(сопоставление_параметров -настройки сопоставление_параметров_настройки })
сопоставление-параметров-Настройки :: =
[формальный-параметр-настройки = > ] фактический-параметр_настройки формальный-параметр .настройки :: =
простое-имя-ядраметрд | знак_операции
фактический-параметр-Настройки :: = выражение
І имя_переменной I имя -подпрограммы
I имя „входа ( обозначение_типа
13.1
спецификатор_представления :: =
спецификатор _представления_типа | спецификатор „адреса
спецификатор_представления_типа :: = спецификатор_длины
I спецификатор_представления_перечисления
I спецификатор_представления_записи
13.2
спецификатор_длины :: = for атрибут use простое „выражение;
13.3
спецификатор_представления_перечисления :: = for простое_имя„типа use агрегат;
13.4
спецификатор_представления_записи :: =
for простое „имя _ типа use
record [спецификатор„выравнивания]
{спецификатор „компонента }
end record;
спецификатор.выравнивания:: =
at mod статическое_простое_выражение;
спецификатор „компонента :: =
шля-компонента at статическое „простое„выражение
range статический „диапазон;
13.5
спецификатор „адреса :: =
for простое_имя use at простое „выражение;
13.8
оператор_кода :: = обозначение „типа' агрегат_записи;ИНФОРМАЦИОННЫЕ ДАННЫЕ
-
ИСПОЛНИТЕЛИ
АА. Красилов, д-р. техн, наук, проф.; BJM. Курочкин, канд. техн, наук (руководители темы); Ю.Н. Голубев, канд. техн, наук; В.И. Баранов, канд. техн, наук; ВЛ. Лейтес, канд, техн наук; ВА. Хитров; НБ. Богородская; ВЛ. Чепкасов; |ЕЛ. Фадеева|; А.П. Попов; В.В. Лукашев, канд. техн, наук; Н.Л. Жданова;
В.Г. Коневских; ЛА. Андрианова; Т.С. Прокофьева; ОБ. Косы- рева; Е.Е. Полякова; ЮЛ. Пузей; ЕБ. Фадеева; А.Ф. Яблокова; ЕА. Обертынская; И.Ю. Гребенкина; О.Г. Кузьмина; Н.Г. Соболев; Н.М. Блохин; НК.Зубанова
-
УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Государственного комитета СССР по стандартам от 22.09.88 № 3217
-
ВВЕДЕН ВПЕРВЫЕ
-
Стандарт соответствует международному стандарту ИСО 8652-87
5. ССЫЛОЧНЫЕ НОРМАТИВНО-ТЕХНИЧЕСКИЕ ДОКУМЕНТЫ
|
Обозначение НТД, на который дана ссылка |
Номер раздела, приложения |
|
2.1, приложение 3 |
СОДЕРЖАНИЕ
-
Общие положения 1
-
Область действия стандарта г 1
-
Содержание стандарта 1
-
Согласованность реализации со стандартом 2
-
-
Структура стандарта 3
-
Цели и источники разработки 3
-
Обзор свойств языка 4
-
Метод описания и синтаксические обозначения 8
-
Классификация ошибок 9
-
-
Лексика 10
-
Набор символов 10
-
Лексемы, разделители и ограничители 11
-
Идентификаторы 13
-
Числовые литералы . . 13
-
Десятичные литералы 13
-
Литералы с основанием 13
-
-
Символьные литералы 14
-
Строковые литералы 14
-
Комментарии 15
-
Прагмы 15
-
Зарезервированные слова 16
-
Допустимые замены символов 17
-
-
Описания и типы 18
-
Описания 18
-
Объекты и именованные числа 19
-
Описания объектов 21
-
Описание чисел 22
-
-
Типыи подтипы 23
-
Описания типов 24
-
Описания подтипов 25
-
Классификация операций 26
-
-
Производные типы 27
-
Скалярные типы 29
-
Перечислимые типы 30
-
Символьные типы 31
-
Логические типы 31
-
Целыетипы 31
-
Операции над дискретными типами 33
-
Вещественные типы 35
-
Плавающие типы 36
-
Операции над плавающими типами 38
-
Фиксированные типы 40
-
Операции над фиксированными типами 42
-
-
Индексируемые типы 44
-
Ограничения индекса и дискретные диапазоны 46
-
Операции над индексируемыми типами 47
-
Строковый тип 49
-
-
Именуемые типы 49
-
Дискриминанты 51
-
Ограничения дискриминантов 52
-
Разделы вариантов 54
-
Операции над именуемыми типами 55
-
-
Ссылочные типы 56
-
Неполные описания типов 57
-
Операции над ссылочными типами 58
-
-
Разделы описаний 59
-
-
Имена и выражения 60
-
Имена 60
-
Индексируемые компоненты 61
-
Отрезки 61
-
Именуемые компоненты 62
-
Атрибуты 64
-
-
Литералы 65
-
Агрегаты 65
-
Агрегаты записей 66
-
Агрегаты массивов 67
-
-
Выражения 69
-
Операции и вычисление выражения 70
-
Логические операции и формы управления промежуточной проверкой 71
-
Операции отношения и проверки принадлежности 73
-
Бинарные аддитивные операции 75
-
Унарные аддитивные операции 76
-
Мультипликативные операции 76
-
Операции высшего приоритета 78
-
Точность операций с вещественными операндами 79
-
-
Преобразование типа 81
-
Квалифицированные выражения . . 83
-
Генераторы 84
-
Статические выражения и статические подтипы 85
-
Универсальные выражения 86
-
-
Операторы 87
-
Простые и составные операторы. Последовательности операторов .... 88
-
Операторы присваивания 89
-
5 2.1. Присваивания массивов 90
-
-
Условные операторы 90
-
Операторы выбора 91
-
Операторы цикла 92
-
Операторы блока 94
-
Операторы выхода 95
-
Операторы возврата 95
-
Операторы перехода 96
-
-
Подпрограммы 97
-
Описание подпрограммы 97
-
Виды формальных параметров 98
-
Тела подпрограмм 100
-
Правила согласования 101
-
Подстановка подпрограмм 102
-
-
Вызовы подпрограмм 102
-
Сопоставления параметров 103
-
Опущенные параметры ЮЗ
-
-
Функции 105
-
Профиль типов параметров и результатов. Совмещение подпрограмм 105
-
-
-
Совмещение операций 106
-
-
Пакеты 107
-
Структура пакета 107
-
Спецификации и описания пакетов 108
-
Тела пакетов 109
-
Описания личных типов и субконстант ПО
-
Личные типы 111
-
Операции над личным типом 112
-
Субконстанты 114
-
Лимитируемые типы 114
-
-
Пример пакета работы с таблицами 116
-
Пример пакета обработки текстов 117
-
-
Правила видимости 119
-
Зона описания 119
-
Области действия описаний 120
-
Видимость 121
-
Спецификаторы использования 124
-
Описание переименования 126
-
Стандартный пакет 128
-
Контекст разрешения совмещения 129
-
-
Задачи 130
-
Спецификации задач и тела задач 131
-
Заданные типы и задачные объекты 133
-
Выполнение и активизация задачи 133
-
Зависимость и завершение задач 135
-
Входы, вызовы входов и операторы принятия 137
-
Операторы задержки, длительность и время 139
-
Операторы отбора 141
-
Отбор с ожиданием 141
-
Условные вызовы входов 143
-
Временные вызовы входов 144
-
-
Приоритеты 145
-
Атрибуты задач и входов 146
-
Операторы прекращения 146
-
Разделяемые переменные 147
-
Пример использования задачи 148
-
-
Структура программы и результат компиляции 149
-
Компилируемые модули. Библиотечные модули 149
-
Спецификаторы контекста. Спецификаторы совместности 151
-
Примеры компилируемых модулей 152
-
-
Субмодули компилируемых модулей 154
-
Примеры субмодулей 155
-
-
Порядок компиляции 157
-
Программная библиотека 159
-
Предвыполнение библиотечных модулей 159
-
Оптимизация программы ' 160
-
-
Исключения 160
-
Описания исключений .161
-
Обработчики исключений 162
-
Операторы возбуждения 163
-
Обработка исключения 163
-
Исключения, возбуждаемые при выполнении операторов 163
-
-
Исключения, возбуждаемые при предвыполнения описаний 166Исключения, возбуждаемые при взаимодействии задач 167
-
Исключения и оптимизация 167
-
Подавление проверок 169
-
-
Настраиваемые модули 171
-
Описание настройки 171
-
Формальные объекты настройки 173
-
Формальные типы настройки 174
-
Формальные подпрограммы настройки 175
-
-
Настраиваемые тела 176
-
Конкретизация настройки 177
-
Правила сопоставления для формальных объектов .х . ... 180
-
Правила сопоставления для формальных личных типов 180
-
-
Побачили розбіжність з офіційним текстом?
Дивіться також
Сборник ГОСТ ЕСКД
Збірник із 154 стандартів