Глава 1. ВВЕДЕНИЕ

Содержание

1.1. ОБЛАСТЬ ДЕЙСТВИЯ СТАНДАРТА
1.2. СТРУКТУРА СПРАВОЧНОГО РУКОВОДСТВА
1.3. ЦЕЛИ И ИСТОЧНИКИ РАЗРАБОТКИ
1.4. ОБЗОР СВОЙСТВ ЯЗЫКА
1.5. МЕТОД ОПИСАНИЯ И СИНТАКСИЧЕСКИЕ ОБОЗНАЧЕНИЯ
1.6. КЛАССИФИКАЦИЯ ОШИБОК

Ада — это язык программирования, разработанный в соответствии с так называемыми стилмановскими требованиями, определенными МО США. Более того, эти требования определили язык с мощными выразительными возможностями, пригодный для широкого класса задач. Вследствие этого языку Ада присущи как свойства классических языков, подобных языку Паскаль, так и свойства, характерные для специализированных языков. Таким образом, этот язык является современным алгоритмическим языком с традиционными управляющими структурами и средствами определения типов и подпрограмм. Он также удовлетворяет требованию модульности; данные, типы и подпрограммы могут образовывать пакеты. Модульность понимается и в физическом смысле, что обеспечивается раздельной компиляцией модулей.

В дополнение к указанному язык обеспечивает программирование задач реального времени с возможностями моделирования параллельных задач и обработки исключений. Он пригоден также для системного программирования; это требует прецизионного управления представлением данных и доступа к зависимым от системы параметрам. Наконец, в языке определены пользовательский и машинный уровни ввода-вывода.

1.1. ОБЛАСТЬ ДЕЙСТВИЯ СТАНДАРТА

В данном стандарте описаны форма представления и семантика программных модулей, написанных на языке Ада. Цель стандарта — повысить переносимость Ада-программ.

1.1.1. СОДЕРЖАНИЕ СТАНДАРТА

Данный стандарт определяет:

а) форму представления программного модуля, написанного на языке Ада;

б) результаты трансляции и выполнения такого программного модуля;

в) способ получения Ада-программ из набора программных модулей;

г) предопределенные программные модули, которые должна обеспечивать согласованная со стандартом реализация (далее в тексте — согласованная реализация);

д) допустимые в рамках стандарта изменения и способы их задания;

е) те нарушения стандарта, которые обязана обнаруживать согласованная реализация, а также результат попытки транслировать или выполнить программный модуль, содержащий такие нарушения;

ж) те нарушения стандарта, которые согласованная реализация не обязана обнаруживать.

Этот стандарт не определяет:

з) средства преобразования программного модуля, написанного на языке Ада, в объектный код, выполняемый процессором;

и) средства запуска трансляции, выполнения программных модулей и управления ими;

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

л) форму и содержание любых листингов, создаваемых реализациями, в частности форму и содержание сообщений об ошибках или предупреждающих сообщений;

м) результат выполнения программного модуля, содержащего любое нарушение стандарта, которое согласованная реализация не обязана обнаруживать;

н) предельный размер программы или программного модуля для конкретной согласованной реализации.

Там, где стандарт предписывает, что программный модуль, написанный на языке Ада, имеет точный результат, этот результат является функциональным значением данного программного модуля, и его должны обеспечить все согласованные реализации. Там, где стандарт допускает неоднозначность результата выполнения программного модуля, под функциональным значением программного модуля в целом понимается множество возможных результатов, и согласованная реализация может обеспечить любой из этих возможных результатов. Примерами допустимых неоднозначностей являются:

• значения фиксированных и плавающих числовых величин, а также результаты операций над ними;

• порядок выполнения операторов в различных параллельных задачах при отсутствии явной синхронизации.

1.1.2. СОГЛАСОВАННОСТЬ РЕАЛИЗАЦИИ СО СТАНДАРТОМ

Согласованная реализация должна:

а) корректно транслировать и выполнять правильные программные модули, написанные на языке Ада, если только их объем находится в допустимых для реализации пределах;

б) отвергать все программные модули, объем которых больше допускаемого реализацией;

в) отвергать все программные модули, содержащие ошибки, обнаружение которых предусмотрено стандартом;

г) обеспечивать всеми предопределенными программными модулями, предусмотренными стандартом;

д) содержать только те изменения, которые допускает стандарт;

е) описывать допустимые изменения способом, разрешенным стандартом.