Компилятор GNAT



         

Ада-95. Компилятор GNAT

Современное общество все больше зависит от программного обеспечения.
Стремительное падение цен на оборудование позволяет, в настоящее время, осуществлять разработку больших программных комплексов, целевое предназначение которых весьма разнообразно.
Таким образом, транспортные, финансовые, медицинские и военные системы во все возрастающей степени зависят от программного обеспечения.
В результате этого, все больше возрастают требования к надежности разрабатываемого программного обеспечения.
Характерной особенностью языка программирования Ада является то, что он специально проектировался как инструмент разработки больших программных комплексов реального времени для встроенных компьютерных систем, к которым предъявляются высокие требования надежности.
В первую очередь, такие требования предъявляются к системам военного предназначения.
Однако, это не исключает применение языка Ада для решения всевозможных задач вычислительного характера, параллельной обработки, моделирования промышленных и технологических процессов в реальном масштабе времени, системного программирования и т.д.
Более того, язык Ада часто рассматривается как язык общего назначения.
К сожалению, существующая на русском языке литература, посвященная языку программирования Ада, в большинстве случаев, относится к старому стандарту языка Ада (Ada-83).

Некоторые исторические сведения
Необходимо также заметить, что данная работа не может расцениваться как перевод стандарта, поэтому, в случае возникновения каких-либо конфликтных ситуаций, которые могут возникнуть при реальной работе, необходимо непосредственно обращаться к Ada-95 Reference Manual, который всегда является истиной в последней инстанции.

Некоторые исторические сведения
История языка программирования Ада
История языка программирования Ада - 2
Цели разработки

Первая программа
Для того, чтобы дать "почувствовать", что представляет из себя программа написанная на языке Ада рассмотрим простую программу. Традиционно, первая программа - это программа которая выводит на экран приветствие: "Hello World!". Не будем нарушать традицию.

Библиотека и компилируемые модули
Лексические соглашения
Комментарии
Идентификаторы
Литералы
Зарезервированные слова
Методы Ады: подпрограммы, операции и знаки
Инструкции, выражения и элаборация
Инструкции, выражения и элаборация - 2
Директивы компилятора

Возбуждение исключений
В настоящий момент мы уже знаем стандартно предопределенные исключения Ады, знаем как описывать исключения и знаем как их возбуждать (и свои, и предопределенные). Однако, весь код примеров, которые мы рассматривали, не выполнял никакой обработки исключений.

Пакет AdaExceptions
Принципы подавления исключений
Выполнение подавления исключений
Организация ввода/вывода
Текстовый ввод/вывод
Пакет AdaText_IO
Пакет AdaText_IO - 2
Искючения ввода/вывода
Искючения ввода/вывода - 2
Файлы ввода/вывода по умолчанию

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

Абстракция данных
Объектно-ориентированное программирование
Объектно-ориентированное программирование - 2
Сущность абстрактного типа данных
Структура абстрактного типа данных
Работа с абстрактными типами данных
Пакеты как средство абстракции данных
Пакеты как средство абстракции данных - 2
Сравнение пакетов и классов
Абстракция стека

Система Ада-компилятора GNAT
Система Ада-компилятора GNAT (сокращение от GNU New York University Ada Translator) одновременно является компилятором и системой времени выполнения для Ada95, которая использует многоплатформенный кодогенератор GCC, благодаря которому обеспечивается поддержка большого количества аппаратных платформ.

Установка GNAT
Установка GNAT на Windows
Установка GNAT на Linux
Установка бинарных файлов от ACT
Установка RPM-пакетов ALT
Установка RPM-пакетов ALT - 2
Общие правила наименования файлов
Общие правила наименования файлов - 2
Использование других имен файлов
Альтернативные схемы именования

Знакомство с командами GDB
Руководство "Отладка с помощтью GDB" (Debugging with GDB) содержит полное описание всех команд и предоставляет большое количество примеров их использования. Более того, GDB имеет встроенную команду help, которая выдает краткую справку о доступных командах и их опциях.

Знакомство с командами GDB
Знакомство с командами GDB - 2
Знакомство с командами GDB - 3
Использование выражений Ады
Вызов подпрограмм пользователем
Исключения и точки прерывания
Задачи Ады
Отладка настраиваемых модулей
Ограничение возможностей языка
Некорректное завершение работы компилятора

Директивы компилятора (pragma)
В данном приложении приводится краткое описание директив компилятора. Более подробное описание использования этих директив содержится в справочных руководствах по языку программирования Ада и по реализации компилятора GNAT.

Стандартные директивы Ады
Директивы компилятора GNAT
Атрибуты типов
Стандартно определенные атрибуты типов
Атрибуты типов в компиляторе GNAT
Атрибуты типов в компиляторе GNAT - 2
Атрибуты типов в компиляторе GNAT - 3
Атрибуты типов в компиляторе GNAT - 4
Атрибуты типов в компиляторе GNAT - 5
Атрибуты типов в компиляторе GNAT - 6

Самоучитель по Flash MX
Организация и ведение библиотек электрорадиоэлементов в P-CAD 2002
Объектно-ориентированное программирование в ограничениях
Форекс
Язык программирования Форт
Делаем из цветной картинки черно-белую
Основы фотографии
Иллюстрированный самоучитель по Photoshop 7
Введение в цифровую фотографию
Photoshop for WEB
Теория и практика фотографии
Самоучитель по Adobe Photoshop 5.5
Самоучитель по цифровой фотографии
Фостер Алан Дин - Что Натворил Ву-Линг
Базы данных. Создание форм и отчетов
Microsoft FoxPro. Краткое руководство по управлению для Windows
Базы данных - MySQL - статьи
Базы данных. Вводный курс
Три манифеста баз данных ретроспектива и перспективы