Статус документа
Статус документа

ГОСТ 27787-88 Язык программирования БЕЙСИК

1. ОСНОВНЫЕ ПОЛОЖЕНИЯ

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. Некоторые исключительные ситуации (где это указано) могут обрабатываться в соответствии с процедурами, описанными в настоящем стандарте; если таковая процедура отсутствует или не может быть реализована из-за аппаратных ограничений или ограничений, налагаемых операционной средой, то соответствующая исключительная ситуация должна вызывать завершение программы.

Настоящий стандарт не описывает порядок, в котором исключительные ситуации будут обнаруживаться и обрабатываться.