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

Соглашения по наименованию исходных файлов GNAT


При анализе внутреннего устройства системы GNAT, может оказаться полезным следующее краткое описание соглашений по именованию исходных файлов системы:

  • Файлы, которые начинаются префиксом "sc", содержат лексический сканер.
  • Все файлы, которые начинаются префиксом "par", являются компонентами синтаксического анализатора (parser).

    Число в имени соответствует главе в "Руководстве по языку программирования Ада 95" ("Ada 95 Reference Manual").

    Например, синтаксический разбор инструкции select

    может быть обнаружен в файле "par-ch9.adb".

  • Все файлы, которые начинаются префиксом "sem", осуществляют семантический анализ.

    Число в имени соответствует главе в "Руководстве по языку программирования Ада 95" ("Ada 95 Reference Manual").

    Например, все случаи использования спецификаторов контекста могут быть обнаружены в файле "sem_ch10.adb".

    Дополнительно, некоторые свойства языка требуют значительной специальной обработки. Для поддержки этого служат свои собственные семантические файлы: "sem_aggr" - для агрегатов, "sem_disp" - для динамической диспетчеризации, и т.д.

  • Все файлы, которые начинаются префиксом "exp", осуществляют нормализацию и расширение внутреннего представления (абстрактного синтаксического дерева - abstract syntax tree или AST).

    Эти файлы используют такую же схему нумерации, которую используют файлы синтаксического и семантического анализа.

    Например, конструкция процедур инициализации записи выполнена в файле "exp_ch3.adb".

  • Все файлы, которые начинаются префиксом "bind", реализуют редактор связей (binder), который осуществляет проверку согласованности компиляции, определяет порядок элаборации и генерирует файл редактора связей (bind file).

  • Файлы "atree.ads" и "atree.adb" описывают низкоуровневые структуры данных, которые используются препроцессором (front-end).

  • Файлы "sinfo.ads" и "sinfo.adb" описывают подробности структуры абстрактного синтаксического дерева, которое генерируется синтаксическим анализатором (parser).




  • Файлы "einfo.ads" и "einfo.adb" описывают подробности атрибутов всех сущностей, которые вычисляются в процессе семантического анализа.

  • Управление библиотекой осуществляется в файлах, которые начинаются префиксом "lib".

  • Ада-файлы, которые начинаются префиксом "a-", являются дочерними модулями пакета Ada, как это определено в Дополнении A (Annex A).

  • Все файлы, которые начинаются префиксом "i-", являются дочерними модулями пакета Interfaces, как это определено в Дополнении B (Annex B).

  • Все файлы, которые начинаются префиксом "s-", являются дочерними модулями пакета System. Они включают дочерние модули, которые определены в стандарте языка, и подпрограммы библиотеки времени выполнения GNAT.

  • Все файлы, которые начинаются префиксом "g-", являются дочерними модулями пакета GNAT. Здесь присутствует множество пакетов общего назначения, которые полностью документированы в своих файлах спецификаций.

  • Все остальные файлы ".c" являются модификацией общих файлов gnatgcc.

    Содержание раздела