Spec-Zone.ru › Ada 95
Справочник по Ada 95

1.1.3 Соответствие реализации стандарту

Требования к реализации

Соответствующая реализация должна:
  • Переводить и правильно выполнять законные программы, написанные на языке Ada, при условии, что они не превышают объём, поддерживаемый реализацией;
  • Выявлять все программы или программные модули, размер которых превышает возможности реализации (или генерировать соответствующее исключение во время выполнения);
  • Выявлять все программы или программные модули, содержащие ошибки, обнаружение которых требуется данным международным стандартом;
  • Предоставлять все библиотечные модули, определённые языком и требуемые данным международным стандартом;
  • Не содержать никаких отклонений, кроме тех, которые явно разрешены данным международным стандартом, или тех, которые невозможно или нецелесообразно избежать в зависимости от среды выполнения реализации;
  • Указывать все такие отклонения способом, предписанным данным международным стандартом.
Внешний эффект выполнения программы Ada определяется в терминах её взаимодействия с внешней средой. Следующие определяются каквнешние взаимодействия:
  • Любое взаимодействие с внешним файлом (см. A.7);
  • Выполнение определённых командных_операций (см. 13.8); какие командные_операции вызывают внешние взаимодействия определяется реализацией.
  • Любой вызов импортированной подпрограммы (см. Приложение B), включая любые передаваемые ей параметры;
  • Любой возвращаемый результат или генерируемое исключение из основной подпрограммы (см. 10.2) или экспортированной подпрограммы (см. Приложение B) внешнему вызывающему субъекту;
  • Любое чтение или обновление атомного или переменного объекта (см. C.6);
  • Значения импортированных и экспортированных объектов (см. Приложение B) на момент любого другого взаимодействия с внешней средой.
Соответствующая реализация данного международного стандарта должна генерировать для выполнения заданной программы Ada набор взаимодействий с внешней средой, порядок и временные характеристики которых соответствуют определениям и требованиям данного международного стандарта для семантики данной программы.
Реализация, соответствующая данному стандарту, должна поддерживать каждую функциональность, требуемую ядром языка, как указано. Кроме того, реализация, соответствующая данному стандарту, может соответствовать одному или нескольким приложениям специализированных потребностей (или ни одному). Соответствие приложению специализированных потребностей означает, что каждая функциональность, требуемая приложением, предоставляется как указано.
Реализация, соответствующая данному международному стандарту, может предоставлять дополнительные атрибуты, библиотечные модули и директивы. Однако она не должна предоставлять атрибутов, библиотечных модулей или директив с таким же именем, как атрибуты, библиотечные модули или директивы (соответственно), указанные в приложении специализированных потребностей, если предоставляемый конструкт не соответствует указанному в приложении специализированных потребностей или не имеет меньших возможностей, чем требуется приложением. Программа, которая пытается использовать неподдерживаемую функциональность приложения, должна быть идентифицирована реализацией до запуска или должна сгенерировать исключение во время выполнения.

Требования к документации

Определённые аспекты семантики определены какопределяемые реализацией илинеопределённые. В таких случаях задаётся набор возможных эффектов, и реализация может выбрать любой из них. Реализации должны документировать своё поведение в ситуациях, определяемых реализацией, но документация не требуется для неопределённых ситуаций. Характеристики, определяемые реализацией, обобщены в Приложении M.
Реализация может выбрать документацию поведения, определяемого реализацией, либо описывая то, что происходит в общем случае, либо предоставив способ для пользователя определить, что происходит в конкретном случае.

Рекомендации по реализации

Если реализация обнаруживает использование неподдерживаемой функции приложения специализированных потребностей во время выполнения, она должна генерировать Program_Error, если это возможно.
Если реализация хочет предоставить определяемые реализацией расширения функциональности библиотечного модуля, определённого языком, она обычно должна это делать, добавляя дочерние элементы к библиотечному модулю.
ПРИМЕЧАНИЯ
2 Вышеуказанные требования подразумевают, что реализация, соответствующая данному стандарту, может поддерживать некоторые из функциональностей, требуемых приложением специализированных потребностей, без поддержки всех требуемых функциональностей.


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API