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



         

Директивы определенные в реализации компилятора GNAT


Abort_Defer;  - 

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

   
Ada_83;  - 

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

   
Ada_95;  - 

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

   
Annotate(
 identifier{, name|expression});
 -  Добавить дополнительную информацию для внешних инструментальных средств
   
Assert(
 boolean_expression
 [, static_string_expression]);
 -  Вставить условие контрольной проверки
   
Ast_Entry(entry_identifier);  -  Реализована только для OpenVMS
   
C_Pass_By_Copy(
 [Max_Size =>] static_integer_expression);
 - 

При вызове функции Си, использовать передачу параметра по значению (не по ссылке), если это возможно

   
Comment(static_string_expression);  -  То же самое, что и Ident
   
Common_Object(
   [Internal =>] local_name,
 [, [External =>] external_symbol]
 [, [Size =>] external_symbol] )
 - 

Для Фортрана. Создать переменную, которая использует общее пространство

   
Complex_Representation(
 [Entity =>] local_name);
 - 

Использовать формат комплексных чисел gcc (для повышения скорости вычислений)

   
Component_Alignment(
  [Form =>] alignment_choice
 [, [Name =>] type_local_name]);
 - 

Указывает как должно осуществляться выравнивание компонентов записи

   
CPP_Class([Entity =>] local_name);  - 

Трактовать запись или тэговую запись как класс Си++

   
CPP_Constructor(
 [Entity =>] local_name);
 -  Трактовать импортируемую функцию как конструктор класса Си++
   
CPP_Destructor(
 [Entity =>] local_name);
 -  Трактовать импортируемую функцию как деструктор класса Си++
   
CPP_Virtual(
  [Entity =>] entity,
 [, [Vtable_Ptr =>] vtable_entity,]
 [, [Position =>] static_integer_expression]);
 -  Импортировать виртуальную функцию Си++
   
CPP_Vtable(
  [Entity =>] entity,
 [, [Vtable_Ptr =>] vtable_entity,]
 [, [Entry_Count =>] static_integer_expression]);
 -  Определить таблицу виртуальных функций
   
Debug(procedure_call_statement);  -  Определить вызов отладочной процедуры
   
Eliminate([Unit_Name =>] identifier);  - 

Указать объект который не используется программой. Создается утлитой gnatelim

   
Export_Exception(
  [Internal =>] local_name,
 [, [External =>] external_symbol,]
 [, [Form =>] Ada | VMS]
 [, [Code =>] static_integer_expression]);
 - 

Реализована только для OpenVMS

   
Export_Function(
  [Internal =>] local_name,
 [, [External =>] external_symbol]
 [, [Parameter_Types =>] parameter_types]
 [, [Result_Type =>] result_subtype_mark]
 [, [Mechanism =>] mechanism]
 [, [Result_Mechanism =>] mechanism_name]);
 - 

Экспортировать Ада-функцию с указанием дополнительной информации по отношению к информации представленной директивой Export

   
Export_Object(
  [Internal =>] local_name,
 [, [External =>] external_symbol]
 [, [Size =>] external_symbol]);
 - 

Экспортировать тэговую запись Ады с указанием дополнительной информации по отношению к информации представленной директивой Export

   
Export_Procedure(
  [Internal =>] local_name,
 [, [External =>] external_symbol]
 [, [Parameter_Types =>] parameter_types]
 [, [Result_Type =>] result_subtype_mark]
 [, [Mechanism =>] mechanism]);
 - 

Экспортировать Ада-процедуру с указанием дополнительной информации по отношению к информации представленной директивой Export

   
Export_Valued_Procedure(
  [Internal =>] local_name,
 [, [External =>] external_symbol]
 [, [Parameter_Types =>] parameter_types]
 [, [Result_Type =>] result_subtype_mark]
 [, [Mechanism =>] mechanism]);
 - 

Экспортировать Ада-функцию обладающую побочными эффектами с указанием дополнительной информации по отношению к информации представленной директивой Export

   
Extend_System([Name =>] identifier);  -  устарела
   
External_Name_Casing(
 Uppercase | Lowercase
 [, Uppercase | Lowercase | As_Is]);
 - 

Установить режим перевода в символы верхнего регистра для импорта в регистрозависимый язык. Может быть установлено в Uppercase, Lowercase или As_Is

(по-умолчанию для gnst).

   
Finalize_Storage_Only(
 first_subtype_local_name);
 - 

Не выполнять очистку (Finalize) для объектов описанных на уровне библиотеки. Изначально предназначено для внутреннего использования в реализации компилятора gnat.

   
Float_Representation(float_rep);  - 

Реализована только для OpenVMS

   
Ident(static_string_expression);  - 

Строка идентификации объектного файла (в Linux, значения не имеет)

   
Import_Exception(
  [Internal =>] local_name,
 [, [External =>] external_symbol,]
 [, [Form =>] Ada | VMS]
 [, [Code =>] static_integer_expression]);
 - 

Реализована только для OpenVMS

   
Import_Function(
  [Internal =>] local_name,
 [, [External =>] external_symbol]
 [, [Parameter_Types =>] parameter_types]
 [, [Result_Type =>] result_subtype_mark]
 [, [Mechanism =>] mechanism]
 [, [Result_Mechanism =>] mechanism_name]
 [, [First_Optional_Parameter =>] identifier]);
 - 

Импортирует функцию, описанную средствами другого языка программирования, для использования ее в Ада-программе. При этом указывает дополнительную информацию по отношению к информации представленной директивой Import.

   
Import_Object(
  [Internal =>] local_name,
 [, [External =>] external_symbol]
 [, [Size =>] external_symbol]);
 - 

Импортирует объект, описанный средствами другого языка программирования, для использования его в Ада-программе. При этом указывает дополнительную информацию по отношению к информации представленной директивой Import.

   
Import_Procedure(
  [Internal =>] local_name,
 [, [External =>] external_symbol]
 [, [Parameter_Types =>] parameter_types]
 [, [Mechanism =>] mechanism]
 [, [First_Optional_Parameter =>] identifier]);
 - 

Импортирует процедуру, описанную средствами другого языка программирования, для использования ее в Ада-программе. При этом указывает дополнительную информацию по отношению к информации представленной директивой Import.

   
Import_Valued_Procedure(
  [Internal =>] local_name,
 [, [External =>] external_symbol]
 [, [Parameter_Types =>] parameter_types]
 [, [Mechanism =>] mechanism]
 [, [First_Optional_Parameter =>] identifier]);
 - 

Импортирует функцию обладающую побочными эффектами, которая описана средствами другого языка программирования, для использования ее в Ада-программе. При этом указывает дополнительную информацию по отношению к информации представленной директивой Import.

   
Inline_Always(name[, name]);  - 

Указывает, на необходимость выполнения межмодульной inline-подстановки не зависимо от состояния переключателей опций компилятора.

   
Inline_Generic(generic_package_name);  - 

Введена для совместимости с другими Ада-компиляторами

   
Interface(
  [Convention =>] convention_identifier,
  [Entity =>] local_name
 [, [External_Name =>] static_string_expression],
 [, [Link_Name =>] static_string_expression]);
 - 

Введена для совместимости с другими Ада-компиляторами

   
Interface_Name(
  [Entity =>] local_name
 [, [External_Name =>] static_string_expression]
 [, [Link_Name =>] static_string_expression]);
 - 

Введена для совместимости с другими Ада-компиляторами

   
Linker_Alias(
 [Entity =>] local_name
 [Alias =>] static_string_expression);
 - 

Определяет альтернативный компоновщик (linker) для указанного пакета (или другого компонуемого модуля).

   
Linker_Section(
 [Entity =>] local_name
 [Section =>] static_string_expression);
 - 

Указание компоновщику gcc использовать соответствующую секцию для указанного имени

   
Long_Float(float_format);  - 

Реализована только для OpenVMS

   
Machine_Attribute(
 [Attribute_Name =>] string_expression,
 [Entity =>] local_name);
 - 

Определяет атрибуты машины для gcc.

   
Main_Storage(
 main_storage_option [, main_storage_option]);
 - 

Реализована только для OpenVMS

   
No_Run_Time;  - 

Указать компилятору gnat не использовать библиотеку времени выполнения (например, в случае написания драйвера устройства).

   
No_Return(procedure_local_name);  - 

Указывает процедуру, которая преднамеренно не возвращает управление. Предназначена для подавления предупреждающих сообщений компилятора.

   
Passive([Semaphore | No]);  - 

Введена для совместимости с другими Ада-компиляторами

   
Polling(On | Off);  - 

Если включена, то разрешает опрос исключений

   
Propagate_Exceptions(subprogram_local_name);  - 

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

   
Psect_Object(
  [Internal =>] local_name,
 [, [External =>] external_symbol]
 [, [Size =>] external_symbol]);
 - 

То же самое, что и Common_Object.

   
Pure_Function([Entity =>] function_local_name);  - 

Указывает, что функция не имеет побочных эффектов.

   
   
Ravenscar;  - 

Устанавливает политику реального времени RAVENSCAR

   
Restricted_Run_Time;  - 

Подобно директиве Ravenscar, устанавливает некоторые ограничения на программирование задач реального времени

   
Share_Generic(name {, name});  - 

Введена для совместимости с другими Ада-компиляторами

   
Source_File_Name(
 [Unit_Name =>] unit_name,
 [FNAME_DESIG =>] string_literal);
 - 

Переопределяет традиционные для реализации компилятора gnat правила именования файлов.

   
Source_Reference(
 integer_literal, string_literal);
 - 

Применяется для совместного использования с утилитой gnatchop.

   
Stream_Convert(
 [Entity =>] type_local_name,
 [Read =>] function_name,
 [Write =>] function name);
 - 

Упрощает создание подпрограмм потокового ввода/вывода для указанного типа данных

   
Style_Checks(
 string_literal | ALL_CHECKS |
 On | Off [, local_name]);
 - 

Указывает реализации компилятора gnat выполнять проверку стиля оформления исходных текстов (если включено в процессе компиляции).

   
Subtitle([Subtitle =>] string_literal);  - 

Введена для совместимости с другими Ада-компиляторами

   
Suppress_All;  - 

Введена для совместимости с другими Ада-компиляторами

   
Suppress_Initialization([Entity =>] type_name);  - 

Запретить инициализацию переменных указанного типа данных

   
Task_Info(expression);  - 

Определяет информацию о задаче.

   
Task_Name(string_expression);  - 

Определяет имя задачи.

Примечание: отсутствует в реализации GNAT V 3.13p.

   
Task_Storage(
 [Task_Type =>] local_name,
 [Top_Guard =>] static_integer_expression);
 - 

Определяет "охранное" пространство для задачи.

   
Time_Slice(static_duration_expression);  - 

Определяет квант времени задачи (tasking time slice) для главной программы

   
Title(titling_option [, titling option]);  - 

Введена для совместимости с другими Ада-компиляторами

   
Unchecked_Union(first_subtype_local_name);  - 

Трактовать запись как тип объединения (union) языка Си.

   
Unimplemented_Unit;  - 

Предназначена для использования в не законченных модулях. Порождает генерацию ошибки при компиляции такого модуля.

   
Unreserve_All_Interrupts;  - 

Позволяет переназначение прерываний, которые обычно обрабатываются реализацией компилятора gnat (например SIGINT).

   
Unsuppress(identifier [, [On =>] name]);  - 

Обладает эффектом, противоположным директиве Suppress.

   
Use_VADS_Size  - 

Для старого Ада-кода. атрибут 'Size

эквивалентен атрибуту 'VADS_Size.

   
Warnings(On | Off [, local_name]);  - 

Включает или выключает генерацию предупредительных сообщений компилятором.

   
Weak_External([Entity =>] local_name);  - 

Определяет объект, который не должен распознаваться компоновщиком.

Copyright (C) А.Гавва V-0.4w май 2004




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