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

     
     ГОСТ Р 34.1702.3-92
(ИСО 8651-3-88)

Группа П85

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Информационная технология

МАШИННАЯ ГРАФИКА

Связь ядра графической системы с языком программирования Ада

Information technology. Computer graphics - Graphical. Kernel System (GKS) language bindings - Ada

ОКСТУ 0034

Дата введения 1994-01-01

ИНФОРМАЦИОННЫЕ ДАННЫЕ

1. ПОДГОТОВЛЕН И ВНЕСЕН ТК 22 "Информационная технология"

2. УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 28.12.92. N 1577

Настоящий стандарт подготовлен методом прямого применения международного стандарта ИСО 8651-3-88 "Системы обработки информации. Машинная графика. Связь ядра графической системы с языком программирования Ада"

3. ВВЕДЕН ВПЕРВЫЕ

4. ССЫЛОЧНЫЕ НОРМАТИВНО-ТЕХНИЧЕСКИЕ ДОКУМЕНТЫ

Обозначение НТД, на который дана ссылка

Номер пункта

ГОСТ 27817-88

Введение, 2, Приложение

ГОСТ 27831-88

2, Приложение



ВНЕСЕНА поправка, опубликованная в ИУС N 12, 2007 год

Поправка внесена изготовителем базы данных


Настоящий стандарт устанавливает правила привязки ядра графической системы (ЯГС) (ГОСТ 27817) к языку программирования Ада (ИСО 8651-3) и определяет:

имена и списки параметров процедур на языке Ада, соответствующие функциям ЯГС;

имена типов данных ЯГС в языке Ада;

структуры данных ЯГС в языке Ада;

имена функций обработки ошибок.

Настоящий стандарт не устанавливает:

структуры и методы реализации ЯГС;

требования к операционной среде и оборудованию;

методы связи ЯГС с другими языками программирования, отличными от языка Ада.

2*. ССЫЛКИ

________________

* Нумерация соответствует оригиналу. - Примечание изготовителя базы данных.

В качестве описания правил привязки ЯГС к языку программирования Ада использован международный стандарт ИСО 8651-3-88, приведенный в приложении.

ПРИЛОЖЕНИЕ

МЕЖДУНАРОДНЫЙ СТАНДАРТ

Системы обработки информации

МАШИННАЯ ГРАФИКА

Связь ядра графической системы с языком программирования Ада

ИСО 8651-3-88

ПРЕДИСЛОВИЕ

Международный стандарт ИСО 8651-3 разработан Техническим комитетом ИСО/СТК 1 "Системы обработки информации".

ИСО 8651 состоит из следующих частей под общим заголовком "Системы обработки информации. Машинная графика. Связь ядра графической системы (ЯГС) с языками программирования:

Часть 1.Фортран.

Часть 2. Паскаль.

Часть 3. Ада.

0. ВВЕДЕНИЕ

Функциональное описание ядра графической системы (ЯГС), содержащееся в ГОСТ 27817 (ИСО 7942), сформулировано независимым от языка программирования способом и должно быть окружено слоем, зависящим от языка программирования (привязка к языку) для использования с определенным языком программирования.

Цель настоящего стандарта части ИСО 8651 - определение стандартной привязки к языку программирования Ада.

1. НАЗНАЧЕНИЕ И ОБЛАСТЬ ПРИМЕНЕНИЯ

ГОСТ 27817 (ИСО 7942) определяет языконезависимое ЯГС. Для включения его в язык программирования ЯГС помещается на языковозависимый уровень, отвечающий соответствующим положениям этого языка. Настоящая часть ИСО 8651 определяет такой языковозависимый уровень для языка программирования Ада.

2. ССЫЛКИ

ГОСТ 27817 (ИСО 7942-85) Системы обработки информации. Машинная графика. Описание функций ядра графической системы (ЯГС).

ГОСТ 27831 (ИСО 8652-86) Язык программирования Ада.

3. СВЯЗЬ ЯГС С ЯЗЫКОМ АДА

Данная связь не предполагает, что компилятор поддерживает любые свойства языка Ада, которые являются зависящими от реализации, но подразумевает, что компилятор будет способен поддерживать декларации, входящие в связывание GKS/Ада. Не делается никаких предположений относительно машинного представления предопределенных типов чисел в Аде.

Данная связь предполагает, что прикладной программист будет применять имя файла ошибок и идентификатор связи, которые будут иметь формат, приемлемый для реализации Ады.

В данной связи не делается предположения относительно формата строки, определяющей имя файла ошибок или идентификатор связи для устройства или метафайла.

3.1. Условия соответствия стандарту

Данная связь включает правила, определенные в стандарте ГОСТ 27817 (ИСО 7942) со следующими дополнительными требованиями, специально заданными для реализации ЯГС в языке Ада.

Для определения соответствия или несоответствия реализации данному связыванию установлены следующие критерии:

а) реализация ЯГС в Аде соответствует уровню ЯГС, если она точно выполняет декларации для данного уровня ЯГС и более низких уровней, определенных данным связыванием;

б) семантика реализации должна соответствовать стандарту ЯГС с модификациями и расширениями для Ады, установленными в данном документе;

в) модуль, соответствующий реализуемому уровню ЯГС, должен быть доступен в виде блока библиотеки Ады с именем, определенным в данном документе.

3.2. Включение в язык

3.2.1. Отображение функций

Все функции ЯГС отображаются в процедуры Ады. Отображение использует "один-в-один" соответствие между функциями ЯГС и процедурами Ады, исключая функции ЯГС "Узнать текущий атрибут примитива" и "Узнать индивидуальный атрибут". Они связаны с отдельной процедурой Ады для каждого из запрашиваемых атрибутов; атрибуты связываются с одной записью.

3.2.2. Реализация и зависимость от компьютера

Существует ряд зависимостей от реализаций и компьютера, связанных с компилятором Ады и используемыми процедурами системы. Это будет влиять на переносимость прикладных программ и их использование ЯГС. Прикладному программисту следует придерживаться принятой практики обеспечения переносимости программ на языке Ада, чтобы избежать возникновения проблем при переносе прикладного программного обеспечения на другую систему. К зависимостям от реализаций относятся управление памятью и процессором.

3.2.3. Обработка ошибок

Справочные функции используют параметры индикаторов для возврата ошибок и не порождают прерываний. В языке Ада прикладная программа должна гарантировать, что индикаторы ошибок проверяются до попыток обращения к другим параметрам, так как некоторые реализации Ады не порождают прерываний, если обнаружено неопределенное значение.

Требования ЯГС по обработке ошибок можно выразить следующим образом.

1. По умолчанию процедура, названная ERROR_HANDLING, будет обеспечивать простую регистрацию ошибок вызовом ERROR_LOGGING. Она вызывается из функций ЯГС, обнаруживших ошибку.

2. Процедура ERROR_HANDLING может быть заменена пользователем на другую.

Процедура ERROR_HANDLING задается, как библиотечная подпрограмма:

with GKS_TYPES;

use GKS_TYPES;

procedure ERROR_HANDLING (ERROR_INDICATOR

: in ERROR_NUMBER;

GKS_FUNCTION : in STRING;

ERROR_FILE : in STRING

: =DEFAULT_ERROR_FILE);

Процедура ERROR_HANDLING определяется как библиотечная процедура и не декларируется внутри пакета ЯГС.

Данная связь определяет два различных тела для этой программы; каждое должно быть представлено реализацией. Тело по умолчанию - это одна из требуемых ЯГС семантических конструкций. Это просто вызов ERROR_LOGGING и возврат. Функция ЯГС должна быть написана так, чтобы она не поддерживала GKS_ERROR (это требование реализации). Таким образом, в соответствии с правилами языка Ада прерывание распространяется назад к прикладной программе, вызвавшей функцию GKS, в которой обнаружилась ошибка.

Смысл пользовательской замены тела, применяемого по умолчанию, на версию, порождающую прерывание, зависит от менеджера библиотеки Ады. Некоторые реализации поддерживают множество версий тела с одной спецификацией или допускают применение иерархических библиотек с разделением общих блоков. В других реализациях может оказаться необходимым дублировать библиотеку семантических конструкций для каждой версий ERROR HALDING.

Ошибки GKS отображаются в одно прерывание GKS_ERROR, декларированное в пакете GKS. Предполагаемый стиль в обработке ошибок с использованием прерываний состоит в том, чтобы обеспечить обработчик для прерываний GKS_ERROR.

3.2.4. Отображение данных

Простые и составные типы данных ЯГС связываются с различными скалярными и составными типами языка Ада. Ограничения на допустимые значения отображаются, где это возможно, в определениях типов. Общее соотношение между типами данных ЯГС и типами данных Ады следующее:

целые ЯГС отображаются в целые типы Ады;

действительные ЯГС отображаются в типы с плавающей запятой Ады;

строки ЯГС отображаются в тип STRING Ады или в тип, предназначенный для строк переменной длины;

указатели ЯГС отображаются в типы записи Ады;

имена ЯГС отображаются в дискретный тип Ады;

нумерация ЯГС отображается в тип нумерации Ады;

вектора ЯГС отображаются в тип записи Ады;

матрицы (matrix) ЯГС отображаются в типы массив (array) Ады;

списки ЯГС из элементов конкретного типа отображаются в приватный тип Ады, декларированный в общем пакете GKS_LIST_UTILITIES;

Доступ к полной версии документа ограничен
Полный текст этого документа доступен на портале с 20 до 24 часов по московскому времени 7 дней в неделю.
Также этот документ или информация о нем всегда доступны в профессиональных справочных системах «Техэксперт» и «Кодекс».
Нужен полный текст и статус документов ГОСТ, СНИП, СП?
Попробуйте «Техэксперт: Базовые нормативные документы» бесплатно
Реклама. Рекламодатель: Акционерное общество "Информационная компания "Кодекс". 2VtzqvQZoVs