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



              

Альтернативные схемы именования


Ранее мы рассмотрели использование директивы компилятора Source_File_Name, которая позволяет использовать произвольные имена для отдельных файлов с исходными текстами.

Этот подход требует наличия директивы для каждого файла именуемого произвольным образом.

Таким образом, в случае разработки большой системы, это ведет к значительному увеличению размеров файла gnat.adc

и, как следствие, может осложнить сопровождение проекта.

Начиная с версии 3.15, GNAT предусматривает возможность указания общей схемы именования файлов с исходными текстами, которая отличается от используемой по умолчанию стандартной схемы именования файлов.

Для этого используются показанные ниже формы директивы компилятора Source_File_Name:

pragma Source_File_Name ( Spec_File_Name => FILE_NAME_PATTERN [,Casing => CASING_SPEC] [,Dot_Replacement => STRING_LITERAL]);

pragma Source_File_Name ( Body_File_Name => FILE_NAME_PATTERN [,Casing => CASING_SPEC] [,Dot_Replacement => STRING_LITERAL]);

pragma Source_File_Name ( Subunit_File_Name => FILE_NAME_PATTERN [,Casing => CASING_SPEC] [,Dot_Replacement => STRING_LITERAL]);

FILE_NAME_PATTERN ::= STRING_LITERAL CASING_SPEC ::= Lowercase | Uppercase | Mixedcase

Строка FILE_NAME_PATTERN является шаблоном имен файлов.

Она содержит один символ звездочки, вместо которого подставляется имя модуля.

Необязательный параметр Casing указывает используемый в имени файла регистр символов: Lowercase - нижний регистр (маленькие буквы), Uppercase - верхний регистр (большие буквы), Mixedcase - смешанное использование регистра символов.

При отсутствии параметра Casing, по умолчанию, используется Lowercase.

Необязательный параметр, строка Dot_Replacement, используется для подстановки вместо точек, которые присутствуют в именах субмодулей.

Когда строка Dot_Replacement не указывается, разделяющие точки неизменно присутствуют в имени файла.

Хотя показанный выше синтаксис демонстрирует, что параметр Casing

указывается перед параметром Dot_Replacement, допускается запись этих параметров в противоположной последовательности.




Содержание  Назад  Вперед