A representation for the specified pattern index has not been predefined on this workstation.

  1. Заполнение по шаблону не поддерживается на данной станции.

Interior style PATTERN is not supported on this workstation.

  1. Неверно заданы размерности массива индексов цвета.

Dimensions of colour array are invalid.

  1. Индекс цвета меньше нуля.

Colour index is less then zero.

  1. Неверно задан индекс цвета. ‘

Colour index is invalid.

  1. Представление для указанного индекса цвета не было определено на дан­ной станции.

A representation for the specified colour index has not been defined on this workstation.

  1. Представление для указанного индекса цвета не предопределено на данной станции.

A representation for the specified colour index has not been predefined on this workstation.

  1. Интенсивность цвета лежит вне диапазона от нуля до единицы.

Colour is outside range [0,1].

  1. Неверно задан идентификатор указания.

Pick identifier is invalid.

  1. Ошибки примитивов вывода

  1. Неверно задано число точек.

Number of points is invalid.

  1. Неверный код литеры.

Invalid code in string.

  1. Неверно задан идентификатор ОПВ.

Generalized drawing primitive identifier is invalid.

  1. Неверно задано содержимое записи данных ОПВ.

Content of generalized drawing primitive data record is invalid.

  1. Ни одна активная станция не может сгенерировать указанный ОПВ.

At least one active workstation is not able to generate the specified genera­lized drawing primitive.

1-05 Ни одна активная станция не в состоянии сгенерировать указанный ОПВ при текущих преобразованиях и прямоугольнике отсечения.

At least one active workstation is not able to generate the specified genera­lized drawing primitive under the current transformations and clipping rectangle.

  1. Ошибки сегментов

  1. Неверно задано имя сегмента.

Specified segment name is invalid.

  1. Указанное имя сегмента уже используется.

Specified segment name is already in use.

  1. Указанный сегмент не существует.

Specified segment does not exist.

  1. Указанный сегмент не существует на указанной станции.

Specified segment does not exist on specified workstation.

  1. Указанный сегмент не существует в общей памяти сегментов.

Specified segment does not exist on Workstation Independent Segment Sto­rage.

  1. Указанный сегмент открыт.

Specified segment is open.

  1. Приоритет сегмента вне диапазона от нуля до единицы.

Segment priority is outside the range [0,1].

  1. Ошибки ввода

  1. Указанное устройство ввода отсутствует на станции.

Specified input device is not present on workstation.

  1. Устройство ввода не находится в режиме ЗАПРОС.

Input device is not in REQUEST mode.

  1. Устройство ввода не находится в режиме ОПРОС.

Input device is not in SAMPLE mode.

  1. Режим ОПРОС и режим СОБЫТИЕ не доступен на данном уровне ЯГС. EUENT and SAMPLE input mode are not available at this level of GKS.

  2. Запрошенный тип подсказки и эха не поддерживается на данной станции. Specified prompt and echo type is not supported on this workstation.

  3. Область эха находится за пределами пространства изображения.

Echo area is outside display space.

  1. Неверно задано содержимое записи данных.

Contents of input data record are invalid.

  1. Очередь событий переполнена.

Input queue has overflowed.

  1. Очередь событий не переполнялась после открытия ЯГС или после послед­него обращения к функции УЗНАТЬ НАЛИЧИЕ ПЕРЕПОЛНЕНИЯ ОЧЕ­РЕДИ СОБЫТИИ.

Input queue has not overflowed since GKS was opened or the last invocation of INQUIRE INPUT QUEUE OVERFLOW.

  1. Очередь событий переполнялась, но соответствующая станция была закры­та.

Input queue has overflowed, but assosiated workstation has been closed.

  1. Значение ввода данного класса отсутствует в отчете о текущем событии.

No input value of correct class is in the current event report.

  1. Неверно задано время ожидания.

Timeout is invalid.

  1. Неверно задано начальное вначение.

Initial value is invalid.

  1. Число точек в начальной последовательности позиции больше размера бу­фера.

Number of points in the initial stroke is greater than the buffer size.

  1. Длина начальной строки больше размера буфера.

Length of the initial string is greater than the buffer size.

  1. Ошибки метафайла

  1. Тип записи не разрешен для записи пользователя.

Item type is not allowed for user items.

  1. Неправильная длина записи.

Item length is invalid.

  1. В метафайле ввода ЯГС не осталось больше записей.

No item is left in GKS Metafile input.

  1. Неправильная запись в метафайле.

Metafile item is invalid.

  1. Неправильный тип записи метафайла ЯГС.

Item type is not a valid GKS item.

  1. Содержимое записи данных не соответствует указанному типу записи.

Content of item data record is invalid for the specified item type.

  1. Неверно задана максимальная длина записи данных.

Maximum item data record length is invalid.

  1. Запись пользователя не может быть интерпретирована.

User item cannot be interpreted.

  1. Указанная функция не поддерживается на этом уровне ЯГС.

Specified function is not supported in this level of GKS.

  1. Ошибки расширения

  1. Указанная функция расширения не обеспечена.

Specified escape function is not supported.

  1. Идентификатор указанной функции расширения задан неверно. Specified escape function identification is invalid.

  2. Неверно задано содержимое записи данных функции расширения. Contents of escape data record are invalid.

  1. Прочие ошибки

200 Неверно задан указанный файл ошибок. Specified error file is invalid.

  1. Системно зависимые ошибки

  1. Переполнение памяти ЯГС.

Storage overflow has occurred in GKS.

  1. Переполнение памяти хранения сегментов.

Storage overflow has occurred in segment storage.

  1. Ошибка ввода/вывода в процессе чтения.

Input/Output error has occurred while reading.

  1. Ошибка ввода/вывода в процессе записи.

Input/Output error has occurred while writing.

  1. Ошибка ввода/вывода в процессе передачи данных на станцию.

Input/Output error has occurred while sending data to a workstation.

  1. Ошибка ввода/вывода в процессе приема данных со станции.

Input/Output error has occurred while receiving data from a workstation.

  1. Ошибка ввода/вывода в процессе работы с библиотекой.

Input/Output error has occurred during program library management.

  1. Ошибка ввода/вывода в процессе чтения таблицы описания ЯГС.

Input/Output error has occurred while reading workstation description table.

  1. Арифметическая ошибка.

Arithmetic error has occurred.

  1. Зарезервированные ошибки

    1. Неиспользованные номера ошибок меньше 2000, а также ошибки с но­мерами больше 4000 зарезервированы для дальнейшей стандартизации.

Unused error numbers less than 2000 are reserved for future standartization.

  1. Ошибки с номерами от 2000 до 3999 предназначены для привязки к языкам программирования.

Error numbers 2000—3999 are reserved for language bindings.

  1. Номера от 4000' и более отводятся для регистрации ошибок.

Error numbers greater than or equal to 4000 are reserved for registration.ПРИЛОЖЕНИЕ 5 Справочное

ИНТЕРФЕЙСЫ

  1. Введение

Для реализации ЯГС на различных языках высокого уровня при его опи­сании применяются абстрактные термины.

Для использования ЯГС в некоторой прикладной программе, написанной на определенном языке, необходимы следующие преобразования:

абстрактные функции и типы данных ЯГС следует выразить в терминах конструкций языка высокого уровня;

необходимо обеспечить набор специфичных средств этого языка, используя средства определенной ЭВМ и операционной системы.

  1. Связь с языками программирования

Описание функций и типов данных ЯГС на языке высокого уровня содер­жится в документе «Связь ЯГС с языками программирования», в котором оп­ределяется, каким образом функции ЯГС доступны программам, написанным на определенном языке.

Этот документ является продолжением настоящего стандарта.

При разработке таких документов необходимо соблюдать следующие пра­вила:

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

  2. При описании связи ЯГС с языком следует определить для каждого имени абстрактной функции ЯГС только один идентификатор, допустимый в этом языке. Имена функций ЯГС являются средством для описания семан­тики языка; их следует заменить на реальные идентификаторы, которые под­чиняются правилам и ограничениям языка высокого уровня. Предпочтитель­ней преобразовывать каждую абстрактную функцию ЯГС в функцию языка-

  3. При описании связи ЯГС с языком следует определить для каждого ти­па данных ЯГС соответствующий тип данных, допустимый в этом языке; до­полнительные типы данных могут быть заданы в терминах типов данных ЯГС. Типы данных, используемые в этом стандарте, являются только средством для описания семантики языка; их следует заменить на реальные типы данных, ко­торые подчиняются правилам и ограничениям языка высокого уровня.

  4. При описании связи ЯГС с языком следует определить для каждой аб­страктной функции ЯГС способ вызова соответствующей функции языка и средства, с помощью которых каждый абстрактный параметр ввода передается в эти функции языка и каждый абстрактный параметр вывода поступает из этих функций языка. Если позволяет язык высокого уровня, абстрактные функ­ции преобразуются в функции языка или процедуры. Параметры передаются через список параметров. Записи в таком списке могут быть или записями типов данных, которые соответствуют типам данных ЯГС, или ссылками на такие записи, или совокупностями этих типов.

  5. При описании связи ЯГС с языком следует определить набор идентифи­каторов, допустимых в этом языке, которые могут быть использованы в реа­лизации для внутренних связей. При реализации обычно не накладывается ог­раничений на использование внешних идентификаторов,, которые определяются в соответствии с правилами 1—4. Поэтому в прикладных программах следует избегать использования идентификаторов из набора, определяемого прави­лом 5. Этот набор может состоять, например, из идентификаторов, начинаю­щихся с литеры G.

  1. Реализация ЯГС

Реализацией ЯГС является модуль или библиотека модулей, написанных для определенного языка программирования и подчиняющихся правилам свя­зи ЯГС с языком. Реализация ЯГС представляет собой все функции определен­ного уровня ЯГС и не содержит других функций более высоких уровней ЯГС. Реализация эффективно использует средства, имеющиеся в основной ЭВМ и операционной системе. При реализации ЯГС необходимо соблюдать следующие правила:

  1. Описание реализации ЯГС должно включать список всех идентификато­ров процедур, функций, совокупностей глобальных данных и файлов, которые доступны для прикладной программы, или должны быть описаны в языке опе­рационной системы. Так как этот набор идентификаторов является, в общем, супервизором имен, определенных при связи с языком, то программы, перено­симые с одной реализации на другую реализацию с одинаковым связанным языком, могут использовать совпадающие имена. Документация должна отра­жать потенциальные расхождения.

  2. Реализация ЯГС не должна ограничивать использование в прикладных программах каких-либо средств ввода-вывода, предоставляемых языками вы­сокого уровня или операционной системой. Тем не менее, реализации должны препятствовать прикладным программам, обходить ЯГС и получать графиче­ские ресурсы непосредственно. Предполагается, что реализация нужна такая, чтобы исключить управление графическими ресурсами без ведома ЯГС, хотя как можно меньше ограничений должно быть принято по использованию дру­гих ресурсов.

  3. В описании реализации ЯГС следует определить для каждой характе­ристики, зависящей от реализации и станций, значение этой характеристики в данной реализации. Некоторые детальные характеристики настоящего стан­дарта специально не заданы, чтобы предоставить специалистам достаточную свободу для адаптации к определенным ЭВМ и определенным операционным системам. Эти характеристики указываются в тексте словами «зависит от реализации». Другие, не заданные характеристики, позволяют адаптироваться к графическим устройствам. Они указаны в тексте словами «зависит от стан­ции». Список всех таких характеристик дан в приложении 6. Значение такой характеристики следует описывать в документации так, чтобы можно было предсказать поведение прикладной программы.

  4. В описании каждой реализации станции следует задавать соответствие между физическими устройствами ввода, действиями оператора и логическими устройствами ввода для этой станции (если они есть). Соответствие между фи­зическими устройствами ввода, действиями оператора и логическими устройст­вами ввода является постоянным и не может управляться прикладной про­граммой. Это соответствие должно быть описано в документации. Также же­лательно, чтобы разработчик станции предоставлял средства изменения этих соответствий, например, во время определения конфигурации ЯГС.

ПРИЛОЖЕНИЕ 6 Справочное

ДОПУСТИМЫЕ РАЗЛИЧИЯ В РЕАЛИЗАЦИЯХ ЯГС

  1. Введение

Ряд характеристик настоящего стандарта специально не задан, чтобы пре­доставить свободу для адаптации реализаций к различным средствам окру­жения и к различному оборудованию. Различия, появляющиеся в результате описания ЯГС в терминах различных языков программирования, приведены в приложении '1;