ГОСТ 27787-88
Группа П85
ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР
ЯЗЫК ПРОГРАММИРОВАНИЯ БЕЙСИК
Programming language Basic
ОКСТУ 4002
Срок действия с 01.07.89
до 01.07.94*
_______________________________
* Ограничение срока действия снято по протоколу N 3-93
Межгосударственного Совета по стандартизации,
метрологии и сертификации (ИУС N 5/6, 1993 год). -
Примечание изготовителя базы данных.
ИНФОРМАЦИОННЫЕ ДАННЫЕ
1. РАЗРАБОТАН И ВНЕСЕН Академией наук СССР
С.А.Христочевский (руководитель темы), канд. физ.-мат. наук; М.Л.Гуткин; Н.А.Кучура; В.А.Ермолов; А.Б.Либеров; А.Л.Александров
2. УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Государственного комитета СССР по стандартам от 26.07.88 N 2760
3. Срок первой проверки - 1992 г.; периодичность проверки - 3 года.
4. Стандарт полностью включает международный стандарт ИСО 6373-84 (Е)
5. ВВЕДЕН ВПЕРВЫЕ
6. ССЫЛОЧНЫЕ НОРМАТИВНО-ТЕХНИЧЕСКИЕ ДОКУМЕНТЫ
Обозначение НТД, на который дана ссылка | Номер пункта |
3.1.1 |
7. ПЕРЕИЗДАНИЕ (апрель 1992 г.)
Настоящий стандарт устанавливает:
1) синтаксис программ, написанных на языке Бейсик;
2) форматы и точность данных, а также диапазон представления чисел для данных, поступающих на вход процессора обработки данных, управляемого программой, написанной на языке Бейсик;
3) форматы и точность данных, а также диапазон представления чисел, получаемых в результате выполнения процессором обработки данных программы, написанной на языке Бейсик;
4) семантические правила для интерпретации смысла программ, написанных на языке Бейсик;
5) ошибки и исключительные ситуации, которые должны быть обнаружены, а также способ, при помощи которого эти ошибки и исключительные ситуации должны быть обработаны.
Настоящий стандарт не устанавливает:
1) механизм, при помощи которого программы, написанные на языке Бейсик, преобразуются для использования процессором обработки данных;
2) средства, при помощи которых выполняются программы, написанные на языке Бейсик;
3) состав и форму документации на реализации языке Бейсик и программы, написанные на языке Бейсик.*
_______________
* Текст соответствует оригиналу. - Примечание изготовителя базы данных.
1.1. Для обеспечения переносимости программ, написанных на языке Бейсик, стандарт строится по концепции "Ядро плюс модули".
Ядро содержит описание операторов и функций, обязательных к реализации на всех ЭВМ, имеющих в составе программного обеспечения язык Бейсик, независимо от их архитектуры и комплектации.
Каждый модуль содержит описание операторов и функций, реализация которых зависит от архитектуры и от комплектации ЭВМ, имеющих в составе программного обеспечения язык Бейсик.
Каждый модуль содержит один или два уровня. Во всех случаях уровни с меньшим номером (нижние) являются собственными подмножествами уровней с большим номером (верхних) внутри того же модуля.
1.2. В стандарте определены следующие способы конструирования допустимых подмножеств языка Бейсик:
1) полный язык Бейсик, состоящий из ядра и высших уровней модулей;
2) подмножества языка Бейсик - любые комбинации ядра и уровней модулей, отличные от полного языка Бейсик;
3) минимальное подмножество должно включать ядро языка Бейсик.
1.3. Каждая реализация должна устанавливать обеспечиваемое ею подмножество. Для выбранного подмножества реализация должна воспринимать все элементы языка.
В дальнейшем, говоря о языке Бейсик, имеется в виду любое допустимое стандартом подмножество языка Бейсик, если явно не оговорено противное.
Каждая реализация языка Бейсик может иметь также дополнительные средства в ядре и модулях. Однако такая реализация будет удовлетворять настоящему стандарту только в том случае, если она обеспечивает синтаксис и семантику операторов и других элементов языка, описание которых приведено в модулях.
1.4. Программа удовлетворяет стандарту только, если:
1) каждый оператор, содержащийся в программе, является синтаксически правильным образом, оператора, специфицированного настоящим стандартом;
2) каждый оператор имеет только то значение, которое приведено в настоящем стандарте;
3) общая совокупность операторов образует пример допустимой программы, имеющей только то значение, которое приведено в настоящем стандарте.
1.5. Реализация соответствует настоящему стандарту только, если:
1) она допускает и обрабатывает программы, соответствующие настоящему стандарту;
2) она интерпретирует ошибки и исключительные ситуации в соответствии со спецификациями настоящего стандарта;
3) ее интерпретация семантики каждого оператора, входящего в состав программы, удовлетворяющей стандарту, соответствует спецификации из настоящего стандарта;
4) ее интерпретация семантики, удовлетворяющей стандарту программы в целом, соответствует спецификации из настоящего стандарта;
5) она допускает ввод, обработку и вывод чисел с точностью не меньшей и в диапазоне не меньшем, чем указано в настоящем стандарте;
6) она сопровождается руководством, в котором однозначно определены действия, предпринимаемые в ответ на обращение к средствам, которые в настоящем стандарте названы "неопределенными" или "зависящими от реализации".
1.6. Ряд элементов языка рассчитан на определенные устройства оборудования, функционирование которых должна обеспечить реализация. Реализация оговаривает необходимую минимальную конфигурацию оборудования и специфические компоненты оборудования, функционирование которых она обеспечивает.
Элементы языка, относящиеся к оборудованию, не обеспечиваемому реализацией, могут не включаться в язык, но их отсутствие должно специально оговариваться.
1.7. Реализации, удовлетворяющие настоящему стандарту, могут допускать выполнение программ, написанных на расширенном языке, не требуя вывода сообщений о всех конструкциях, не соответствующих настоящему стандарту. Однако каждый оператор или другой элемент программы, описание которого приведено в реализованном подмножестве настоящего стандарта, не удовлетворяющий описанным здесь синтаксическим правилам, должен вызывать сообщение об ошибке.
Обо всех исключительных ситуациях, описанных в настоящем стандарте, должны выводиться сообщения, если только реализация не содержит механизм, который может быть вызван пользователем для обработки этих ситуаций.
1.8. Некоторые исключительные ситуации (где это указано) могут обрабатываться в соответствии с процедурами, описанными в настоящем стандарте; если таковая процедура отсутствует или не может быть реализована из-за аппаратных ограничений или ограничений, налагаемых операционной средой, то соответствующая исключительная ситуация должна вызывать завершение программы.
Настоящий стандарт не описывает порядок, в котором исключительные ситуации будут обнаруживаться и обрабатываться.
Описание каждой конструкции языка построено следующим образом.
1) Общее описание. Содержит краткое описание средств Бейсика, которые должны обрабатываться, и указывает общую синтаксическую форму для этих средств.
2) Синтаксис. Синтаксис описан при помощи обозначения в виде формы Бэкуса-Наура, детали которой приведены в приложении 1. Несколько слов, составляющих в синтаксисе лексическую единицу, соединены знаком дефис (-).
3) Примеры. Краткий список правильных примеров, получаемых при помощи некоторых грамматических правил, представленных в синтаксисе. Нумерация примеров соответствует нумерации грамматических правил и не будет последовательной, если примеры иллюстрируют не все правила.
4) Семантика. Семантические правила служат двум целям. Во-первых, они исключают некоторые конструкции, которые допустимы синтаксисом, но по смыслу не удовлетворяют описанию. Во-вторых, они придают смысл упоминаемым конструкциям.
5) Исключения. Описываются исключения, возникающие в том случае, когда система, реализующая транслятор с языка Бейсик, обнаруживает, что программа не может быть выполнена или не исполняется в соответствии с настоящим описанием.
6) Примечания. Здесь содержатся замечания по некоторым особенностям самого описания и требования по реализации языкового Бейсик-процессора для конкретной операционной поддержки.
В приложении 2 приведены пояснения основных терминов, используемых в настоящем стандарте.
3.1.1. Общее описание
Набор символов языка Бейсик является подмножеством символов, приведенных в ГОСТ 27465-87. Текст - это последовательность символов, которая используется в программе на языке Бейсик в качестве примечаний (см. п.3.15), текстовых констант (см. п.3.3.) или данных (см. п.3.13.).
3.1.2. Синтаксис
1) прописная-буква-латинская = A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z
2) прописная-буква-русская = А|Б|В|Г|Д|Е||Ж|3|И|Й|К|Л|М|НIО|П|Р|С|Т|У|Ф|Х|Ц|Ч|Ш|Щ|Ъ|Ы|Ь|Э|Ю|Я
3) цифра = 0|1|2|3|4|5|6|7|8|9
4) символ-текста = кавычки символ-текста-в-кавычках
5) символ-текста-в-кавычках = восклицательный знак | номер | знак-денежной-единицы | процент | коммерческое-И | апостроф | круглая-скобка-левая | круглая-скобка-правая | звездочка | запятая | дробная-черта | обратная-дробная-черта | двоеточие | точка-с-запятой-с-запятой | меньше | равно | больше | вопросительный-знак | подчеркивание | стрелка-вверх | символ-текста-не-в-кавычках (графическое изображение этих символов по ГОСТ 27465-87)
6) символ-текста-не-в-кавычках = пробел | простой-символ-текста
7) простой-символ-текста = знак-плюс | знак-минус | точка | цифра | прописная-буква-латинская | прописная-буква-русская
8) примечания = символ-текста *
9) текст-в-кавычках = кавычки символ-текста-в-кавычках * кавычки
10) текст-не-в-кавычках = простой-символ-текста-простой-символ-текста символ-текст-не-в-кавычках * простой-символ-текста
3.1.3. Примеры
8) В "ПРИМЕЧАНИЯХ" МОЖНО ИСПОЛЬЗОВАТЬ ЛЮБОЙ СИМВОЛ (!, ? = и т.д.)
9) "В ТЕКСТЕ В КАВЫЧКАХ МОЖНО ИСПОЛЬЗОВАТЬ ЗАПЯТЫЕ, ПРОБЕЛЫ"
10) ALFA+5
3.1.4. Семантика
Буквы могут быть прописными буквами латинского или русского алфавита.
Все остальные символы-текста - это любые символы.