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


         

Обозначает функцию, которая имеет следующую

   
'Epsilon  -  Предусмотрен для обеспечения совместимости с Ada 83.
   
S'Fixed_Value  -  где S: вещественный тип с фиксированной точкой. Обозначает функцию, которая имеет следующую спецификацию: function S'Fixed_Value (Arg : Universal_Integer) return S; Возвращаемое значение V - это вещественное значение с фиксированной точкой, подобное: V = Arg * S'Small Таким образом, это эквивалентно: сначала, преобразованию аргумента в значение целочисленного типа, используемого для представления S, а затем, выполнению непроверяемого преобразования в вещественный тип с фиксированной точкой. Первоначально, этот атрибут был предназначен для реализации функций ввода/вывода для значений вещественного типа с фиксированной точкой.
   
T'Has_Discriminants  - 


где T: тип.

Возвращенное значение типа Boolean будет True

в случае когда тип T имеет дискриминант, и False - в обратном случае.

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

Если атрибут используется с приватным настраиваемым типом, то он индицирует имеет ли фактический тип дискриминант.



   



'Img

 - 



Этот атрибут отличается от стандартного атрибута 'Image

тем, что он может быть использован как с объектами, так и с типами.

В обоих случаях он возвращает 'Image для подтипа объекта. Это удобно для отладки:

Put_Line ("X = " & X'Img);

будет иметь такой же смысл, что и более "многословная" запись:

Put_Line ("X = " & type'Image (X));

где type - это подтип объекта X.



   



S'Integer_Value

 - 



где S: целочисленный тип.

Обозначает функцию, которая имеет следующую спецификацию:

function S'Integer_Value

(Arg : Universal_Fixed) return S;

Возвращаемое значение V подобно:

Arg = V * type'Small

Таким образом, это эквивалентно: сначала, выполнению непроверяемого преобразования из вещественного типа с фиксированной точкой в соответствующий ему тип реализации, а затем, преобразование результата в целочисленный тип назначения.


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