Что такое формат файла ADS?
Файл .ads - это спецификация пакета Ada - интерфейсная часть пакета Ada. В соответствии с соглашением об именовании компилятора GNAT (фактический стандарт в экосистеме Ada) каждый пакет Ada разбит на два файла: спецификацию в .ads и тело реализации в файле .adb.
Файл .ads объявляет то, что публично видно для других единиц компиляции: типы, подтипы, константы, сигнатуры подпрограмм (процедурные и функциональные профили), типы задач и параметры обобщений. В нем нет исполняемого кода или тел подпрограмм - только объявления, образующие контракт, на котором зависят другие пакеты.
Синтаксически спецификация начинается с package <Name> is и заканчивается end <Name>;. В начале указываются контекстные предложения (with и use), перечисляющие пакеты, от которых зависит спецификация. Комментарии Ada начинаются с --.
Формат представляет собой обычный текст UTF-8 (или ASCII) с MIME-типом text/x-ada. Магических байтов нет; файлы идентифицируются по структуре исходного кода Ada. Используемый диалект Ada - Ada 83, 95, 2005, 2012 или Ada 2022 (ISO/IEC 8652:2023) - контролируется флагами компилятора GNAT, такими как -gnat2022 или директивой pragma Ada_2022 на уровне исходного кода.
.ads файлы открываются в GNAT Studio, Visual Studio Code с расширением Ada/SPARK или любом текстовом редакторе. Инструментарий GNAT компилирует их вместе с их телами .adb; координацию сборки обеспечивает файл проекта .gpr.
Безопасность и защита
РИСК: LOWФайл .ads представляет собой обычный исходный текст Ada и не может выполняться сам по себе, поэтому открытие его для чтения безопасно. Применяется обычная осторожность для любого исходного кода: просмотрите код из ненадежных источников перед компиляцией и запуском, так как окружающий проект создаст исполняемый файл. DRM, шифрование или специальная обработка отсутствуют - относитесь к нему как к любому текстовому/кодовому файлу. Устанавливайте инструментарий GNAT только из официальных источников (AdaCore/GCC).
Детали формата
в двух словах- Файл рекламы / служба рекламы - Некоторые системы рекламы и инструменты, связанные с AdSense, используют .ads для файлов рекламного контента или тегов рекламы; не связано с исходным кодом Ada.
- Универсальный 'адресная книга' / экспорт настроек - Некоторые устаревшие программы сохраняют настройки или адресные данные с расширением .ads; определите по исходному приложению.
Программы, открывающие файлы ADS
Технические подробности
глубокая спецификация| Тип файла | Простой текстовый исходный код Ada - спецификация (интерфейсная часть) пакета Ada |
| MIME-тип | text/x-ada (также принимается как text/plain) |
| Кодировка текста | UTF-8 или ASCII; исторически Latin-1; кодировка GNAT выбирается через флаг -gnatiX |
| Бинарная подпись | Отсутствует - обычный текст; определяется структурой ключевых слов Ada (package <Name> is … end <Name>;) |
| Типичный размер файла | 1 КБ - 100 КБ (только объявления спецификации; тела находятся в сопутствующем файле .adb) |
| Правило именования GNAT | Базовое имя должно совпадать с именем пакета, строчные буквы, точки заменяются дефисами - например, Ada.Containers соответствует ada-containers.ads |
| Структура | Необязательные контекстные предложения with/use, затем package <Name> is, публичные объявления, необязательный приватный раздел, end <Name>; |
| Ограничение содержимого | Только объявления - типы, подтипы, константы, профили подпрограмм, обобщения; нет исполняемого кода или тел |
| Модель видимости | Публичная часть видна всем зависимым пакетам; приватный раздел доступен только внутри пакета и его дочерних элементов |
| Диалект языка | Ada 83 / 95 / 2005 / 2012 / 2022 выбирается через флаги GNAT -gnatXX или директиву pragma Ada_XXXX в исходном коде |
| Компилируемый вывод | GNAT создает файл .ali (Ada Library Information) и объектный файл (.o) для каждой скомпилированной пары .ads/.adb |
| Координация сборки | Файл проекта GNAT (.gpr) перечисляет источники .ads и управляет переключателями компиляции для каждой единицы |
| Поддержка платформы | Кроссплатформенная: Linux, Windows, macOS и встроенные цели (VxWorks, RTEMS, голое железо ARM, RISC-V) |
| Экосистема компилятора | GNAT (GCC Ada front-end, AdaCore), GNAT LLVM, PTC ObjectAda, Green Hills MULTI Ada |
| Выпущен | 1980 (Ada language); .ads/.adb naming from GNAT (early 1990s) |
| Последняя версия | Ada 2022 (ISO/IEC 8652:2023) |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.adaic.org |
Конвертации ADS
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах ADS.