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

       

Переменные импортируемых проектов


Какой-либо атрибут или переменная, которые были описаны в импортируемом проекте или проекте-предке, могут быть использованы в выражениях, которые используются в импортирующем или расширяющем проекте.

В этом случае, для обращения к атрибуту или переменной используется префикс состоящий из имени проекта и, при необходимости, имени пакета, где атрибут или переменная были описаны.

with "imported"; project Main extends "base" is

Var1 := Imported.Var; Var2 := Base.Var & ".new";

package Builder is

for Default_Switches ("Ada") use Imported.Builder.Ada_Switches & "-gnatg" & "-v"; end Builder;

package Compiler is

for Default_Switches ("Ada") use Base.Compiler.Ada_Switches; end Compiler; end Main;

В показанном выше примере:

  • Переменная Var1 является копией переменной Var, которая описана в файле проекта "imported.gpr".

  • Значение переменной Var2 является конкатенацией копии значения переменной Var, которая описана в файле проекта "base.gpr", со строкой ".new".

  • Атрибут Default_Switches ("Ada"), в пакете Builder, является списком строк, который включает в свое значение копию переменной Ada_Switches, описанную в пакете Builder в файле проекта "imported.gpr", плюс два новых элемента: "-gnatg" и "-v".

  • Атрибут Default_Switches ("Ada"), в пакете Compiler, является копией переменной Ada_Switches, которая описана в пакете Compiler в файле расширяемого проекта "base.gpr".



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