ГОСТ 28397-89 (ИСО 2382-15-85)
Группа Э00
МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Термины и определения
Programming languages. Terms and definitions
МСК 01.040.35
35.060
ОКСТУ 4001
Дата введения 1991-01-01
ИНФОРМАЦИОННЫЕ ДАННЫЕ
1. РАЗРАБОТАН И ВНЕСЕН Министерством радиопромышленности СССР
2. УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Государственного комитета СССР по управлению качеством продукции и стандартам от 21.12.89 N 3961
3. Стандарт соответствует международному стандарту ИСО 2382-15-88
4. ВВЕДЕН ВПЕРВЫЕ
5. ССЫЛОЧНЫЕ НОРМАТИВНО-ТЕХНИЧЕСКИЕ ДОКУМЕНТЫ
Обозначение НТД, на который дана ссылка | Номер пункта |
ГОСТ 15971-90 | Вводная часть |
ГОСТ 19781-90 | 1, 2.1, 2.3 |
ГОСТ 20886-85 | То же |
6. ПЕРЕИЗДАНИЕ
Настоящий стандарт устанавливает термины и определения в области традиционных языков программирования процедурного типа.
Термины, установленные настоящим стандартом, обязательны для применения в документации и литературе всех видов, входящих в сферу работ по стандартизации или использующих результаты этих работ.
Настоящий стандарт должен применяться совместно с ГОСТ 15971 и ГОСТ 20886.
1. Стандартизованные термины с определениями приведены в табл.1.
Таблица 1
Термин | Определение |
ОСНОВНЫЕ ПОНЯТИЯОСНОВНЫЕ ПОНЯТИЯ | |
1 Язык программирования | Язык, предназначенный для представления программ. |
2. Лексема | Языковая конструкция, по соглашению представляющая элементарную синтаксическую единицу |
3. Идентификатор | По ГОСТ 19781 |
4. Ключевое слово (в языках программирования) | Идентификатор, смысл которого зафиксирован правилами языка программирования и который используется для распознавания предложений в программе |
5. Зарезервированное слово | Ключевое слово, использование которого запрещено в иных целях, кроме указанной |
6. Литерал | Лексема, которая непосредственно представляет некоторое значение |
7. Предложение | По ГОСТ 19781 |
8. Составное предложение | Предложение, состоящее из последовательности предложений |
9. Программный блок | Синтаксически определенное составное предложение, образующее область действия объявленных в нем объектов |
10. Программный модуль | По ГОСТ 19781 |
11. Программа | По ГОСТ 19781 |
12. Комментарий | Языковая конструкция, используемая для включения в текст программы пояснений, не влияющих на ее выполнение |
13. Описание среды | Языковая конструкция, используемая для описания свойств объектов, которые не являются частью программы, но существенны для ее выполнения |
14. Объявление объекта | Языковая конструкция для создания языкового объекта |
15. Умолчание | Соглашение о характеристике языкового объекта или выполняемом действии при отсутствии их явного описания |
16. Неявное объявление | Объявление объекта, принимаемое по умолчанию |
17. Предопределенный атрибут | Характеристика языкового объекта, введенная описанием языка программирования |
18. Область действия объявления | Часть текста программы, на который распространяется действие некоторого объявления объекта |
19. Локальный объект | Языковый объект, объявленный в программном блоке и недоступный вне его |
20. Глобальный объект | Языковый объект, доступный в программном блоке, но объявленный вне его в том же программном модуле |
21. Внешний объект | Языковый объект, объявленный в некотором программном модуле и доступный вне его |
22. Статическое свойство объекта | Свойство объекта, определяемое до выполнения программы |
23. Динамическое свойство объекта | Свойство объекта, определяемое или доопределяемое в период выполнения программы |
24. Ссылка (в языках программирования) | Объект при его использовании в качестве имени |
СТРУКТУРА ДАННЫХ | |
25. Переменная (в языках программирования) | Языковый объект, который может принимать различные значения |
26. Константа (в языках программирования) | Языковый объект, обладающий фиксированным значением, определяемым при создании этого объекта |
27. Агрегат данных | Структурированная совокупность элементов данных |
28. Формальный параметр | Идентификатор, который объявляется совместно со входом в процедуру и служит для связи с соответствующим фактическим параметром |
29. Фактический параметр | Языковый объект, который появляется в вызове процедуры и связывается с соответствующим формальным параметром процедуры для использования при ее выполнении |
ХАРАКТЕРИСТИКИ И СРЕДСТВА, ОТНОСЯЩИЕСЯ К ДАННЫМ | |
30. Тип данных | Множество значений вместе с множеством допустимых над ними операций |
31. Закрытый тип данных | Тип данных с открытой спецификацией, но закрытой реализацией |
32. Спецификация формата данных | Языковая конструкция, определяющая представление данных |
33. Спецификация шаблона данных | Языковая конструкция, описывающая представление данных посредством образца, имеющего вид символьного литерала |
34. Индексация (в языках программирования) | Механизм для доступа к компоненте массива данных посредством ссылки на массив и посредством одного или более выражений, значения которых определяют позицию компоненты массива |
35. Косвенная ссылка | Ссылка, значением которой является ссылка |
36. Присваивание | Механизм придания значения переменной в языке программирования |
37. Инициализация | Присваивание начальных значений переменным программы |
38. Автоматическое распределение памяти | Выделение памяти при входе в программный блок для локальных переменных и ее освобождение при выходе из этого блока |
39. Агрегат подразумеваемого размера | Формальный параметр типа агрегат, диапазон изменения индексов которого определяется соответствующим фактическим параметром |
40. Агрегат регулируемого размера | Формальный параметр типа агрегат с переменным диапазоном изменения индексов |
ЭЛЕМЕНТЫ ОБРАБОТКИ | |
41. Выражение | Языковая конструкция, определяющая некоторое значение в соответствии со значениями одного или более операндов |
42. Процедура (в языках программирования) | Параметризуемый именованный программный блок, конкретное выполнение которого определяется вызовом процедуры |
43. Процедура-функция | Процедура в языке программирования, при выполнении которой вырабатывается значение, связываемое с именем процедуры |
44. Асинхронная процедура | Процедура в языке программирования, выполняемая логически параллельно с другими частями программы |
45. Критическая секция | Часть асинхронной процедуры, которая не может выполняться параллельно с определенной частью той же или другой асинхронной процедуры |
46. Метка (в языках программирования) | Языковая конструкция, употребляемая для именования предложения в программе |
ХАРАКТЕРИСТИКИ И СРЕДСТВА, ОТНОСЯЩИЕСЯ К ЭЛЕМЕНТАМ ОБРАБОТКИ | |
47. Логический объект | Объект, рассматриваемый в аспекте определения алгоритмом или программой безотносительно к реализации с помощью технических средств |
48. Физический объект | Объект, рассматриваемый в аспекте взаимодействия логического объекта с техническими средствами |
49. Последовательность выполнения в программе | Порядок выполнения предложений или частей предложений программы |
50. Безусловное предложение | Предложение, определяющее единственно возможную последовательность выполнения в программе |
51. Условный оператор | Языковая конструкция, определяющая более одной последовательности выполнения в программе |
52. Оператор цикла | Языковая конструкция, определяющая итерацию некоторой последовательности выполнения в программе |
53. Вызов процедуры | Ссылка на процедуру с целью ее выполнения |
54. Вход процедуры | Языковая конструкция, с которой может быть начата некоторая последовательность выполнения процедуры |
55. Передача параметров | Механизм установления соответствия между формальными и фактическими параметрами |
56. Возврат из процедуры | Языковая конструкция, которая используется для завершения какой-либо последовательности выполнения процедуры |
57. Побочный эффект | Изменение значений параметров или глобальных переменных при выполнении процедуры-функции |
58. Оператор ветвления | Языковая конструкция, определяющая возможность выбора между различными последовательностями выполнения в программе |
59. Исключительная ситуация | Совокупность определенных условий, возникновение которых приводит к нарушению предусмотренной последовательности выполнения в программе |
60. Старшинство операций | Отношение между операциями, определяющее умалчиваемый порядок выполнения операций в выражениях |
61. Преобразование типов | Преобразование значений некоторого типа данных к значениям другого типа |
62. Активизация процедуры | Приведение процедуры в состояние готовности к выполнению при ее вызове |
2. Для каждого понятия установлен один стандартизованный термин. Применение терминов - синонимов стандартизованного термина не допускается.
В ряде терминов в круглые скобки помещены слова, набранные светлым шрифтом, не являющиеся составной частью термина, а служащие лишь для уточнения области применения.
2.1. Для отдельных стандартизованных терминов в табл.1 приведены в качестве справочных краткие формы, которые разрешается применять в случаях, исключающих возможность их различного толкования.
2.2. Приведенные определения можно при необходимости изменять, вводя в них производные признаки, раскрывая значения используемых в них терминов, указывая объекты, входящие в объем определяемого понятия. Изменения не должны нарушать объем и содержание понятий, определенных в настоящем стандарте.
2.3. В табл.1 в качестве справочных приведены эквиваленты стандартизованных терминов на английском языке.
3. Алфавитные указатели содержащихся в стандарте терминов на русском и английском языках приведены в табл.2-3.
4. Стандартизованные термины набраны полужирным шрифтом, их краткая форма - светлым.
АЛФАВИТНЫЙ УКАЗАТЕЛЬ ТЕРМИНОВ НА РУССКОМ ЯЗЫКЕ
Таблица 2
Термин | Номер термина |
Агрегат | 27 |
Агрегат данных | 27 |
Агрегат подразумеваемого размера | 39 |
Агрегат регулируемого размера | 40 |
Активизация процедуры | 62 |
Атрибут предопределенный | 17 |
Блок программный | 9 |
Возврат из процедуры | 56 |
Вход процедуры | 54 |
Вызов | 53 |
Вызов процедуры | 53 |
Выражение | 41 |
Идентификатор | 3 |
Индексация (в языках программирования) | 34 |
Инициализация | 37 |
Комментарий | 12 |
Константа (в языках программирования) | 26 |
Лексема | 2 |
Литерал | 6 |
Метка (в языках программирования) | 46 |
Модуль программный | 10 |
Область действия объявления | 18 |
Объект внешний | 21 |
Объект глобальный | 20 |
Объект логический | 47 |
Объект локальный | 19 |
Объект физический | 48 |
Объявление | 14 |
Объявление неявное | 16 |
Объявление объекта | 14 |
Оператор ветвления | 58 |
Оператор условный | 51 |
Оператор цикла | 52 |
Описание среды | 13 |
Параметр | 28 |
Параметр фактический | 29 |
Параметр формальный | 28 |
Передача параметров | 55 |
Переменная (в языках программирования) | 25 |
Последовательность выполнения в программе | 49 |
Предложение | 7 |
Предложение безусловное | 50 |
Предложение составное | 8 |
Преобразование типов | 61 |
Присваивание | 36 |
Программа | 11 |
Процедура асинхронная | 44 |
Процедура (в языках программирования) | 42 |
Процедура-функция | 43 |
Распределение памяти автоматическое | 38 |
Свойство объекта динамическое | 23 |
Свойство объекта статическое | 22 |
Секция критическая | 45 |
Ситуация исключительная | 59 |
Слово зарезервированное | 5 |
Слово ключевое (в языках программирования) | 4 |
Ссылка (в языках программирования) | 24 |
Ссылка косвенная | 35 |
Спецификация формата данных | 32 |
Спецификация шаблона данных | 33 |
Старшинство операций | 60 |
Тип | 30 |
Тип данных | 30 |
Тип данных закрытый | 31 |
Умолчание | 15 |
Функция | 43 |
Эффект побочный | 57 |
Язык программирования | 1 |
АЛФАВИТНЫЙ УКАЗАТЕЛЬ ТЕРМИНОВ НА АНГЛИЙСКОМ ЯЗЫКЕ
Таблица 3
Термин | Номер термина |
Activation | 62 |
(Actual) argument | 32 |
Actual parameter | 29 |
Adjustable-size aggregate | 43 |
Aggregate | 27 |
Assignment | 36 |
Assumed-size aggregate | 39 |
Asynchronous procedure | 47 |
Automatic storage allocation | 38 |
Block | 9 |
Branch construct | 58 |
Built-in | 17 |
Comment | 12 |
Compound statement | 8 |
Conditional construct | 51 |
Constant | 26 |
Conversion | 61 |
Critical section | 45 |
(Data) type | 30 |
Declaration | 14 |
Default | 15 |
Dynamic | 23 |
Dummy argument | 28 |
Encapsulated type | 31 |
Entry (of a procedure) | 54 |
Environment description | 13 |
Exception | 59 |
Execution sequence | 49 |
Expression | 41 |
External | 21 |
(Formal) parameter | 28 |
Format | 32 |
Function (procedure) | 43 |
Global | 20 |
Identifier | 3 |
Implicit declaration | 16 |
Indirect reference | 35 |
Initialize | 37 |
Keyword | 4 |
Label | 46 |
(Lexical) token | 2 |
Lexical unit | 2 |
Literal | 6 |
Local | 19 |
Logical | 47 |
Loop construct | 52 |
(Operator) precedence | 60 |
Parameter association | 55 |
Physical | 48 |
Picture | 33 |
Predefined | 17 |
Procedure | 42 |
(Procedure) call | 53 |
Program | 11 |
Programming language | 1 |
Program unit | 10 |
Reference | 24 |
Reserved word | 5 |
Return (from a procedure) | 56 |
Scope of a declaration | 18 |
Side effect | 57 |
Statement | 7 |
Static | 22 |
Subscripting | 34 |
Unconditional statement | 50 |
Variable | 25 |