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


         

Введение в систему типов языка Ада - часть 2


Приводимая ниже диаграмма демонстрирует общую организацию системы типов Ады.

Все типы

| |- Простые типы

| | | |- Скалярные типы

| | | | | |- Вещественные (Real)

| | | | | | | |- Универсальный Вещественный (Universal_Real) -- все вещественные | | | | -- литералы | | | | | | | |- Корневой Вещественный (Root_Real) -- только Ada95 | | | | | | | |- с плавающей точкой (Floating Point)

| | | |- с фиксированной точкой (Fixed Point)

| | | | | | | |- с обычной фиксированной точкой

| | | | (Ordinary Fixed Point)

| | | | | | | |- с десятичной фиксированной точкой -- только Ada95 | | | (Decimal Fixed Point)

| | | | | |- Дискретные типы

| | | | | |- Целые типы

| | | | | | | |- Универсальный Целый (Universal_Integer) -- все | | | | -- целочисленные | | | | -- литералы | | | | | | | |- Корневой Целый (Root_Integer) -- только Ada95 | | | | | | | |- Знаковые Целые

| | | |- Модульные Целые (Modular Integer) -- только Ada95 | | | | | |- Перечислимые

| | | | | |- Символьные (Character, Wide_Character)

| | |- Логический (Boolean)

| | |- Определяемые пользователем

| | | |-- Ссылочные типы / указатели (Access)

| | | |- Ссылки на объекты

| |- Ссылки на подпрограммы -- только Ada95 | |- Составные типы

| |-- Массивы (Array)

| | | |- Строки (String)

| |- Другие, определяемые пользователем массивы

| |-- Записи (Record)

| |-- Тэговые Записи (Tagged Record) -- только Ada95 | |-- Задачи (Task)

| |-- Защищенные типы (Protected) -- только Ada95

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




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