В настоящем стандарте описаны форма представления и семантика программных модулей, написанных на языке Ада. Цель стандарта - повысить надежность и переносимость программ для разнообразных систем обработки данных.
1.1.1. Содержание стандарта
Стандарт определяет:
а) Форму представления программного модуля, написанного на языке Ада.
б) Результаты трансляции и выполнения такого программного модуля.
в) Способ получения Ада-программ из набора программных модулей.
г) Предопределенные программные модули, которые должна обеспечивать согласованная со стандартом реализация (далее - согласованная реализация).
д) Допустимые в рамках стандарта изменения языка и способы их задания.
е) Те нарушения стандарта, которые обязана обнаруживать согласованная реализация, а также результат попытки транслировать или выполнять программный модуль, содержащий такие нарушения.
ж) Те нарушения стандарта, которые согласованная реализация не обязана обнаруживать.
Стандарт не определяет:
з) Средства преобразования программного модуля, написанного на языке Ада, в объектный код, выполняемый процессором.
и) Средства инициализации трансляции, выполнения программных модулей и управления ими.
к) Размер и скорость выполнения объектного кода, а также относительную скорость выполнения различных языковых конструкций.
л) Форму и содержание любых листингов, предусмотренных реализациями, в частности, форму и содержание сообщений об ошибках или предупреждающих сообщений.
м) Результат выполнения программного модуля, содержащего любое нарушение стандарта, которое согласованная реализация не обязана обнаруживать.
н) Предельный для конкретной согласованной реализации размер программы или программного модуля.
Там, где стандарт предписывает, что программный модуль, написанный на языке Ада, имеет точный результат, этот результат является функциональным значением данного программного модуля, и его должны обеспечивать все согласованные реализации. Там, где стандарт допускает неоднозначность результата выполнения программного модуля, под функциональным значением программного модуля в целом понимается множество возможных результатов, и согласованная реализация может обеспечить любой из возможных результатов. Примерами допустимых неоднозначностей являются:
Значения фиксированных и плавающих числовых величин, а также результаты операций над ними;
Порядок выполнения операторов в различных параллельных задачах при отсутствии явной синхронизации.
1.1.2. Согласованность реализации со стандартом
Согласованная реализация должна:
а) Корректно транслировать и выполнять правильные программные модули, написанные на языке Ада, если только их объем находится в допустимых для реализации пределах.
б) Не выполнять программные модули, объем которых больше допускаемого реализацией.
в) Не выполнять программные модули, содержащие ошибки, обнаружение которых предусмотрено стандартом.
г) Включать предусмотренные стандартом предопределенные программные модули.
д) Содержать только те изменения, которые допускает стандарт.