-->

Руководство к асис


Утвержден

ГТЯН.411711.001РЭ-ЛУ

СИСТЕМА ИЗМЕРИТЕЛЬНАЯ «АСИС»

Руководство по эксплуатации

ГТЯН.411711.001РЭ

(ПАСПОРТ ГТЯН.411711.001ПС)

Содержание

Назначение изделия 4

Технические характеристики 4

Устройство и работа 6

Комплектность 7

Техническое обслуживание 9

Указание мер безопасности 9

Поверка 9

Свидетельство о приемке 10

Сведения об упаковке, транспортировании и хранении 11

Гарантии изготовителя 11

Сведения о ремонте 11

Настоящее руководство по эксплуатации (РЭ) предназначено для ознакомления с устройством, работой и правилами эксплуатации системы измерительной «АСИС» необходимыми для правильной их эксплуатации

Назначение изделия

1.1.1Система измерительная «АСИС» ГТЯН.411711.001 (далее — система) предназначена для измерений давления, силы и линейного перемещения.

1.1.2Система совместно с различными устройствами и комплексами «АСИС» (все типы и модификации комплекса), создающими испытательные воздействия, может быть использована в различных областях промышленности и техники, например, для испытаний пылевато-глинистых, песчаных грунтов и горных пород, с целью определения их прочностных и деформационных свойств.

1.1.3По виду климатического исполнения система относится к УХЛ4.2 по ГОСТ 15150-69 и предназначена для следующих условий эксплуатации:

температура окружающего воздуха:


  • от минус 10 до плюс 35 °С – для датчиков;

  • от плюс 15 до плюс 35 °С – для остальных составных частей системы;

относительная влажность воздуха до 80 % при температуре плюс 25 ºС;

атмосферное давление от 84 до 106,7 кПа (от 630 до 800 мм рт. ст.).

Технические характеристики

1.1.4Модификации Систем отличаются количеством измерительных каналов и их диапазонами измерений.

Перечень измерительных каналов систем приведён в таблице 1.

Таблица 1


Наименование измерительного канала

Обозначение канала

Количество измерительных каналов, шт.

Первичный преобразователь

(датчик)

Вторичный преобразователь


Диапазон измерений канала

Пределы допускаемой приведенной погрешности измерений,%

Давление жидкости и газа

ИКД 1-1

от 1 до 160

ГТ 5.1.1

ГТ 6.0.30

или

ГТ 6.0.31


0…1 МПа

± 0,5

ИКД 1-2

ГТ 5.1.2

0…2 МПа

Сила сжатия

ИКС 1-1

от 1 до 160

ГТ 5.2.1

0…1 кН

ИКС 1-2

ГТ 5.2.2

0…1 кН

ИКС 5-1

ГТ 5.2.3

0…5 кН

ИКС 5-2

ГТ 5.2.4

0…5 кН

ИКС 10-1

ГТ 5.2.5

0…10 кН

ИКС 10-2

ГТ 5.2.6

0…10 кН

ИКС 25-1

ГТ 5.2.10

0…25 кН

ИКС 30-1

ГТ 5.2.7

0…30 кН

ИКС 50-1

ГТ 5.2.8

0…50 кН

ИКС 50-1

ГТ 5.2.9

0…50 кН

Относительное линейное перемещение

ИКП 10-1

от 1 до 160

ГТ 5.3.1

0…10 мм

± 0,5

ИКП 10-2

ГТ 5.3.2

0…10 мм

ИКП 10-3

ГТ 5.3.3

0…10 мм

ИКП 15-1

ГТ 5.3.6

0…15 мм

ИКП 20-1

ГТ 5.3.4

0…20 мм

± 0,2

ИКП 40-1

ГТ 5.3.5

0…40 мм

ИКП 80-1

ГТ 5.3.7

0…80 мм

1.1.5Фотография общего вида приведена на рисунке.

Рисунок

1.1.6Метрологические и технические характеристики представлены в таблице 2.

Таблица 2


Наименование параметра

Значение

Диапазон измерений давления, МПа

от 0 до 2

(в зависимости от модификации)


Диапазон измерений силы, кН

от 0 до 50

(в зависимости от модификации)


Диапазон измерений линейного перемещения, мм

от 0 до 80

(в зависимости от модификации)


Пределы допускаемой приведённой погрешности измерений давления, %

± 0,5

Пределы допускаемой приведённой погрешности измерений

силы, %

± 0,5


Пределы допускаемой приведённой погрешности измерений линейного перемещения, %

± 0,2; ± 0,5

Количество каналов измерений давления жидкости и газа, шт.

от 1 до 160

Количество каналов измерений силы, шт.

от 1 до 160

Количество каналов измерений линейного перемещения, шт.

от 1 до 160

Напряжение питающей сети, В

от 187 до 242

Частота напряжения питания, Гц

50 ± 1

Условия эксплуатации:

— температура окружающего воздуха, ºС:


  • для датчиков;

  • для остальных составных частей системы;

— относительная влажность окружающего воздуха, %;

— атмосферное давление, кПа

от минус 10 до плюс 35

от плюс 15 до плюс 35

до 80

от 84 до 106,7

Устройство и работа

1.1.7Конструкция системы двухуровневая.

Нижний уровень системы представлен датчиками соответствующих физических величин и вторичным преобразователем (блок электронно-преобразующий).

Верхний уровень системы включает в себя ПЭВМ.

1.1.8Информационная связь между компонентами системы реализована с использованием стандартных средств обмена информацией в цифровом виде (цифровой сети).

1.1.9Принцип действия системы заключается в измерении физических величин датчиками с последующим преобразованием измерительной информации во вторичном преобразователе (блоке электронно-преобразующим) в цифровой вид. Полученная информация передаётся в ПЭВМ, обрабатывается и выводится на монитор и внешние устройства.

1.1.10Метод измерений с помощью системы – прямой с непосредственным снятием показаний в измеряемых величинах на экране ПЭВМ.

1.1.11Работа с программным обеспечением, установленным в ПЭВМ в настоящем руководстве по эксплуатации не описывается, поскольку интерфейс пользователя, являющийся не метрологически значимым программным обеспечением, проектируется под конкретную модификацию системы, под конкретные пожелания потребителя. Практическое руководство по использованию программного обеспечения можно получить непосредственно у изготовителя.

Комплектность

1.2Комплектность системы приведена в таблице 3.

Таблица 3- Комплектность системы измерительной «АСИС»


Обозначение изделия

Наименование изделия

Количество

Заводской номер

Примечание

ГТЯН.421447.017

Блок электронно-преобразующий ГТ 6.0.30

ГТЯН.421447.018

Блок электронно-преобразующий ГТ 6.0.30

ГТЯН.406515.006

Датчик давления ГТ 5.1.1

ГТЯН.406515.007

Датчик давления ГТ 5.1.2

ГТЯН.406515.058

Датчик силы ГТ 5.2.1

ГТЯН.406515.059

Датчик силы ГТ 5.2.2

ГТЯН.406515.055

Датчик силы ГТ 5.2.3

ГТЯН.406515.060

Датчик силы ГТ 5.2.4

ГТЯН.406515.054

Датчик силы ГТ 5.2.5

ГТЯН.406515.061

Датчик силы ГТ 5.2.6

ГТЯН.406515.056

Датчик силы ГТ 5.2.7

ГТЯН.406515.057

Датчик силы ГТ 5.2.8

ГТЯН.406515.062

Датчик силы ГТ 5.2.9

ГТЯН.406515.032

Датчик силы ГТ 5.2.10

ГТЯН.406515.049

Датчик перемещений ГТ 5.3.1

ГТЯН.406515.051

Датчик перемещений ГТ 5.3.2

ГТЯН.406515.052

Датчик перемещений ГТ 5.3.3

ГТЯН.406515.038

Датчик перемещений ГТ 5.3.4

ГТЯН.406515.045

Датчик перемещений ГТ 5.3.5

ГТЯН.406515.050

Датчик перемещений ГТ 5.3.6

ГТЯН.406515.064

Датчик перемещений ГТ 5.3.7

ГТЯН.685621.046

Кабель 16

Эксплуатационная документация

ГТЯН.411711.001РЭ

Система измерительная «АСИС» Руководство по эксплуатации

ГТЯН.411711.001МП

Системы измерительные «АСИС» методика поверки

Техническое обслуживание

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

1.3.1Метрологические характеристики системы в течение межповерочного интервала соответствуют установленным нормам при условии соблюдения потребителем правил хранения, транспортирования и эксплуатации, указанным в настоящем руководстве.

Указание мер безопасности

1.4Монтаж системы следует производить при неработающем объекте контроля и с соблюдением техники безопасности.

1.5При работе с системой должны соблюдаться требования безопасности, установленные действующими «Правилами техники безопасности при эксплуатации электроустановок потребителей», поскольку в системе ИСПОЛЬЗУЕТСЯ ОПАСНОЕ ДЛЯ ЖИЗНИ НАПРЯЖЕНИЕ ПЕРЕМЕННОГО ТОКА 220 В.

Поверка

1.6Система поверяется в соответствии с документом «Системы измерительные «АСИС». ГТЯН.411711.001МП. Методика поверки», утвержденным руководителем ГЦИ СИ ФБУ «Пензенский ЦСМ» 29 июня 2012 г.

1.7Интервал между поверками (межповерочный интервал) – 1 год.

Свидетельство о приемке

СВИДЕТЕЛЬСТВО О ПРИЕМКЕ


Система измерительная «АСИС»

ГТЯН.411711.001



наименование изделия

обозначение

заводской номер

Изготовлен и принят в соответствии с обязательными требованиями государственных (национальных) стандартов, действующей технической документацией и признан годным для эксплуатации

МП

личная подпись

расшифровка подписи

год, месяц, число

Сведения об упаковке, транспортировании и хранении

1.8Система транспортируется в упаковке любым видом транспорта. Допускается её транспортирование без упаковки при условии защиты от повреждений.

1.9Воздух в помещении не должен содержать примесей агрессивных газов.

1.10Хранение системы должно осуществляться в упакованном виде в закрытых помещениях (хранилищах).

1.11Срок хранения (консервации) системы включается в межповерочный интервал – 1 год.

Гарантии изготовителя

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

1.13Гарантийный срок хранения системы – 12 месяцев с момента изготовления предприятием изготовителем.

1.14Гарантийный срок эксплуатации 18 месяцев с учетом гарантийного срока хранения.

Сведения о ремонте




Основа-ние для сдачи в ремонт

Дата поступ-

ления в ремонт


Дата

выхода из ремонта


Вид ремонта

Должность, фамилия и подпись

Производившего ремонт

Принявшего

ремонт

Достарыңызбен бөлісу:

Динамические испытания в резонансной колонке

Возможности

  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Динамическое трехосное сжатие

Возможности

  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Трехосное сжатие

Возможности

  • Модуль деформаций
  • Структурная прочность
  • Набухание над нагрузкой
  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Компрессионное сжатие

Возможности

  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Одноплоскостной срез

Возможности

  • Структурная прочность
  • Набухание над нагрузкой
  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Простой сдвиг

Возможности

  • Структурная прочность
  • Набухание над нагрузкой
  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Морозное пучение

Возможности

  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Фильтрационные испытания

Возможности

  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Трехосное сжатие

Возможности

  • Модуль деформаций
  • Структурная прочность
  • Набухание над нагрузкой
  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Испытания шариковым штампом

Возможности

  • Модуль деформаций
  • Структурная прочность
  • Набухание над нагрузкой
  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Компрессионное сжатие

Возможности

  • Модуль деформаций
  • Структурная прочность
  • Набухание над нагрузкой
  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Одноосное сжатие

Возможности

  • Модуль деформаций
  • Структурная прочность
  • Набухание над нагрузкой
  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Одноплоскостной срез

Возможности

  • Модуль деформаций
  • Структурная прочность
  • Набухание над нагрузкой
  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Срез по поверхности смерзания

Возможности

  • Модуль деформаций
  • Структурная прочность
  • Набухание над нагрузкой
  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Объемное сжатие (трехосное)

Возможности

  • Модуль деформаций
  • Структурная прочность
  • Набухание над нагрузкой
  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Испытания на срез

Возможности

  • Модуль деформаций
  • Структурная прочность
  • Набухание над нагрузкой
  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Испытание на сдвиг

Возможности

Одноосное сжатие

Возможности

  • Модуль деформаций
  • Структурная прочность
  • Набухание над нагрузкой
  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Трехосное сжатие

Возможности

  • Модуль деформаций
  • Структурная прочность
  • Набухание над нагрузкой
  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Одноплоскостной срез

Возможности

  • Модуль деформаций
  • Структурная прочность
  • Набухание над нагрузкой
  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

Простой сдвиг

Возможности

  • Модуль деформаций
  • Структурная прочность
  • Набухание над нагрузкой
  • Относительная просадочность
  • Структурная прочность
  • Давление
  • Свободное набухание
  • Начальное просадочное давление
  • Коэффициент переуплотнения
  • Давление предварительного уплотнения

ASIS-���-GNAT User’s Guide ( GNAT-3.15p )

(C) Copyright 2000, Ada Core Technologies, Inc.

������� Copyright (C) 2003 �.�����.
������������ ��������������� ��������, ��� ���������� ������ ��������, ���������.


����������

    �� ���� �����������

      ��� ���������� � ������ �����������
      ��� ��� ���������� ����� ����� ������� ����� �����������
      �������������� ����������

    1. ��������

      1.1 ��� ����� ASIS?
      1.2 ������� ���������� ASIS: ����� �������� ����� ��������� � ������� ASIS?

    2. ������ ���������� � ASIS

      2.1 ���������� ������
      2.2 ���������� ASIS ��� ������� ������������ ������
      2.3 ��������� ������������������ �������
      2.4 ���������� ������������ ������ ASIS-����������
      2.5 ��������� �������� ��� �����
      2.6 ������ ASIS-����������

    3. ����� ASIS

      3.1 ������� ���������� ASIS
      3.2 �������� ������� ASIS
      3.3 ����������� � ������������� �������
      3.4 �������� ��������� ������ ASIS
      3.5 ������������ �������� ������������ �������� ASIS
      3.6 ASIS-��������
      3.7 ��������� �� ������������ ASIS

    4. �������� ASIS

      4.1 ����� ��������� � ������ ASIS
      4.2 �������� ������ ������ ��� ������������� � ASIS

        4.2.1 �������� ������ ��� ���������� ������������ ������

      4.3 ��������� ������� ����������� ��������� ASIS � ASIS-���-GNAT
      4.4 �������� ���������������

        4.4.1 ��������������� ������ ASIS � GNAT
        4.4.2 ��������������� ������ �������� � ������ � ��������� ��������

      4.5 ������������� ��������� ���������� ����������

    5. ASIS-������������� asistant

      5.1 ���������� � asistant
      5.2 ������� asistant
      5.3 ���������� asistant
      5.4 �������� ������ ASIS
      5.5 ������

    6. ������� ���������� ASIS
    7. ������� ������� ASIS
    8. ��� ��������� ����������� ���������� ASIS

      8.1 ����� �������� ��� ������� ������ ������������������ ����������
      8.2 ������� ������� ����� ������� ����� ��������
      8.3 ��� �������� �������� ����� ��������
      8.4 ������������� gnatmake ��� �������� ������ ������

    9. ��������� ���-���������� � ������� ������� ���������� �� ASIS
    10. ����������, ���������� � ���������� ���������� � ASIS-���-GNAT
    11. ��������������� ��������� ASIS-���-GNAT
    12. ���������� �� ������������ ������ � ������������ ���� ����������


�� ���� �����������

��� ����������� ���������� ��� ����. ��-������, ���������� ��� �� ������������� �������������� ���������� ��� (Ada Semantic Interface Specification, ���������� — ASIS) � ������������������ ��� ���, � ������� ASIS, ����� ������� ��������� ���������������� ��������. ��-������, ������� ���������� ASIS ��� Ada95-����������� GNAT.


��� ���������� � ������ �����������

��� ����������� �������� ��������� �����:

  • 1. ��������, �������� ����� �������� ASIS � ������������� ��������� ������� �������, ������� ����� ���� ��������� � ������� ASIS;
  • 2. ������ ���������� � ASIS, �������� ��������������� ������� ������� � ���������� � ������������� ������� ���������� �� ASIS-���-GNAT;
  • 3. ����� ASIS, ������������� ����� �������� � ����������� ASIS, ������� ������ ������ ���������������� ����� ������������� ASIS (��������, ������� ��� ������� � ASIS ����� ���������� ���� ��������);
  • 4. �������� ASIS ��������� ����� ��������� ASIS � ������ ASIS-���-GNAT � ��� ���������� ������� ��� ���������� ���-����������� � ��������� ����������� ASIS;
  • 6. ������� ���������� ASIS ��������� ����� �������� ������� ���-�����������, ��������������� ������������� ASIS-���-GNAT, ������� ����� ���� ������������ ��� ������ ���������� ������� ���������� ASIS;
  • 7. ������� ������� ASIS ��������� ��������� �������, ���������� � ����������� ASIS-���-GNAT, ������� ���������� ������������ �������, ����������� �������� ��������� ��������� ������������� �� ASIS;
  • 8. ��� ��������� ����������� ���������� ASIS ��������� �������� ������ �������� ��� ��������� �������� ������ ������������������ ���������� ASIS � ��������� ��� �������� �������� ����� ���������;
  • 9. ��������� ���-���������� � ������� ������� ���������� �� ASIS ����������� ����������� �������� ��������� ���-��������, ������� ���������� ������������������ � ������� ������� ASIS ���-����������;
  • 10. ����������, ���������� � ���������� ���������� � ASIS-���-GNAT ��������� ��� ������������� ���������� ASIS � ������� ASIS-���-GNAT � ��� ��������� ��� ���� ����������� ������;
  • 12. ���������� �� ������������ ������ � ������������ ���� ���������� ��������� ����� ����� ����� � ����� �� ����� �������������� ��� ����� ����������� ���������� ASIS.

��� ��� ���������� ����� ����� ������� ����� �����������

��� ����������� ������������ ASIS ������������, ��� �� ������� � ������ ���������������� Ada95 � ��� �� ������ ��������� ������������� � ���������������� �� ����� ��� � ����� ����������� GNAT.

��� ����������� ����� ������������, ��� �� ��������� ��������� ������������� ASIS-���-GNAT ��� ������ ����������� GNAT, � ��� �� ������� �� ���������� ������������ ASIS-���-GNAT (���� ���, �� ����������� � ���������� ����� README �� ������ ������������, ������ 2).

��� ����������� �� ������������, ��� �� �������������� ������� � ASIS ��� ������ ���� ��� �������������. �� �������� ��������� ������� ������������� �� ASIS � ��� ������������� � �������� ������ ����� �����������, �������� �������� � ����������������� ��������� �� ��������� � �������� ASIS, ���� ������������.


�������������� ����������

��� ��������� �������������� �������� � ����������� GNAT, ������� ���������� � ����������� ������������ �� ����������� GNAT.

��� ����, ����� ����� ��� ��������� ���������� ���������� ASIS ��� ������ ����������� GNAT, ������� ���������� � ����������� �� ���������� ASIS-���-GNAT.

�������� ASIS 95 � ��������� ����� ������������ � ������������� ��������� ISO/IEC International Standard 15291.

��� ��������� �������������� ���������� �� ASIS, �������� WEB-��������� ������� ������ ASIS (http://www.acm.org/sigada/wg/asiswg).

��� ����������� ������ ����� ����������� ��� ����� ����������� ���������� ����������� �� ASIS-���-GNAT (ASIS-���-GNAT Reference Manual) �/��� ���������� ����������� �� ����������� GNAT (GNAT Reference Manual).


1. ��������

1.1 ��� ����� ASIS?

������������ �������������� ���������� ��� (The Ada Semantic Interface Specification, ���������� — ASIS) �������� ������������ ���������� ����� ���������� ����� ���������������� ��� (������� ������� � ISO/IEC 8652:1995) � ������ ����������������� ����������, ������� ��������� � ���������� �� ����. ��������� ��� �������� ������� ��������� ������������� � �������������� ����������. ASIS �������� �������� � ��������� �����������, ������� ������������ ������ � ���� ���������� CASE-��������� � ������������� ����������. ASIS �������������� ��� ���������, ������� �� ������� �� ���������� ����������� ������������ ���-�������, �����������, ����� �������, ������������� ������� ����������� ���������, � ���������� ������������� ���� ������� �� ������������� ��������� ���������� ����������� � ����������� ������������� ���-�������.

����������, ASIS �������� ��������� ������������ ������� ���. ��� ������ ��������� ��������� ��������� ����� ���, ������� ��������� ������� ������� ����������� ��� �������� �����-���� ���-���������. �������� ��� ����� ������, ���������� ��������� ASIS, ������������� ��� ���������� ����������������� ���������� � ������������� ������� ��� � ����� ���������.

�� ������ ������������ ASIS, ��� ���������� ��������� �������� ������������ ��� ������� ��������, ��� ����������� ����������.


1.2 ������� ���������� ASIS: ����� �������� ����� ��������� � ������� ASIS?

��������� �������� ASIS ���������� ������� ������������� ASIS:

  • ASIS �������� ��-�������������� (������ ������), �����������.
  • ASIS ������������� �� ���-��������� ������ ���������� ����������������� ����������.
  • ASIS ������������� ��� �������������� � ������� ������������� ���������� ��/�� ���-���������. ���� ��������� ������������� �������� ��������� �� ����� ���� ��������������� �������� � �������� �������� ASIS, ���������� ASIS ����� ��������� ��������� �������� ���������� ��������������, ��������� ���������� ������� �������� � ������� �������� ASIS.
  • ���� ��� ������� ��������� ����������� �� ����������, ASIS ��������������� ���������� ��/�� ���-��������� � ��������������� ��������, ������� ������ ����������� � RM 95 � ������� �������� �� ���������� �� ���������� ���-�������/ASIS �� ���� ����� �������.

��������� ���������������� ����������� �������, ������� ������������ ����� ������������ ������������ ���������� ASIS, �������� (������� ��������, ��� ���� ������ �� �������������): ������������������ �������� ����, �������� ���������, �������� ����������� �������� �������, �������� ������������������ ����, �������� �������� ������������ ���������� �����������, ���������, �������� ������� �������� �����������, �������� ��������������, ���������� ������������, ����������� ��������, �������� �������� ��������, �������� ������-�����������, �������� �������� �����, �������� ������������, �������� ����������������� � �����������.


2. ������ ���������� � ASIS

� ���� ������, � ������ ���������� �����, �� ����������� � ��������� ���������� ���������� ASIS � ������ ��� �������������: �� ���������� ������, ������� ����� ���� ������ � ������� ���������� ASIS, �����, �� ���������� ��� ���������� ASIS, ������� ��������� ������ ���� ������, �����, �� ������� ��� ������������� � ��������� ����������� ������ ���������� ASIS � ������� ASIS-���-GNAT � ��� ����������� �������� ASIS � ��������� � ������� ���������, �, � ����������, �� ������� ��������� ������ ����� ���������, ����� ��� ������������ ��� ���� �����.


2.1 ���������� ������

�����������, ��� ��� ���������� ���������� ��������� ��������� ������������� ������� ��� � ��� ������� ������ ������ ��� ������, ����������� ���-���, ����� ���� ������ �������� �������������, ����� ��� ����������� �������, � ����� �������, ��� ������ �������� �������, ������������ �������������, ���������������� �������, ��� ������� � RM 95, ��� �������, ������� ��������� ����������� (��������, ��� ����� ���������� ������� ���������� ���-�������).


2.2 ���������� ASIS ��� ������� ������������ ������

    
    
    with Ada.Wide_Text_IO;        use Ada.Wide_Text_IO;
    with Ada.Characters.Handling; use Ada.Characters.Handling;
    
    --  ������������� ���������, ����������� ��� ASIS:
    with Asis;
    with Asis.Implementation;
    with Asis.Ada_Environments;
    with Asis.Compilation_Units;
    with Asis.Exceptions;
    with Asis.Errors;
    
    procedure Example1 is
       My_Context : Asis.Context;
       --  ASIS Context �������� ����������� ������-���� ��������� ���,
       --  �� ��������� ��������� ������������� ������� ASIS,
       --  ������� �������� ����� ������� ASIS
    
    begin
       --  ��-������, ��� ������������� �����-���� ���������� ASIS,
       --  ��� ���������� ����������� �� � ���������������� ������
       Asis.Implementation.Initialize;
    
       --  �����, �� ��������� ��� �������� Context, �����������
       --  �������������� � "����������" ����������:
       Asis.Ada_Environments.Associate
        (My_Context, "My Asis Context", "-CA");
       --  ��. ASIS-���-GNAT Reference Manual, ����� �������� ��������
       --  � ���������� ������� Associate, � ����� ����� "�������� ASIS"
       --  ����� ������ � ��������� ����� ��������� ASIS ��� �������������
       --  ASIS-���-GNAT
    
       --  ��� �������� ���������, �� �������������� ��� � ���������
       --  ��������� ASIS
       Asis.Ada_Environments.Open (My_Context);
    
       Processing_Units: declare
          Next_Unit : Asis.Compilation_Unit;
          --  ASIS Compilation_Unit �������� �����������, ������� ������������
          --  ������������� ������ ���, ��� ������� � RM 95
    
          All_Units : Asis.Compilation_Unit_List :=
          --  ASIS Compilation_Unit_List �������� ����������
          --  �������������� ��������.
          --  �������������, ��� ����������� ������-���� �������
          --  ����� ����, ��� ���������� ������������� ��� �����������,
          --  ��� ����� ��������� �������������.
    
             Asis.Compilation_Units.Compilation_Units (My_Context);
          --  ������ Compilation_Units ���������� ������ ���� �������,
          --  ������� ���������� � ��������� ASIS Context
       begin
          Put_Line
            ("A Context contains the following compilation units:");
          New_Line;
          for I in All_Units'Range loop
             Next_Unit := All_Units (I);
             Put ("   ");
    
             --  ��� ��������� ����� ������ ��� ��������� ������� ������
             --  Unit_Full_Name. � �������� ����� ASIS ���������� 
             --  Wide_String, �������������, ��� ���������� ���������
             --  �������������� � ��� String, ����� ������������
             --  Ada.Text_IO
             Put (Asis.Compilation_Units.Unit_Full_Name (Next_Unit));
    
             --  ��� ��������� �������������� ���������� � ������,
             --  �� ���������� � ��� ������ � � ��� ���������
    
             case Asis.Compilation_Units.Unit_Kind (Next_Unit) is
                when Asis.A_Library_Unit_Body =>
                   Put (" (body)");
                when Asis.A_Subunit =>
                   Put (" (subunit)");
                when others =>
                   Put (" (spec)");
             end case;
    
             case Asis.Compilation_Units.Unit_Origin (Next_Unit) is
                when Asis.An_Application_Unit =>
                   Put_Line (" - user-defined unit");
                when Asis.An_Implementation_Unit =>
                   Put_Line (" - implementation-specific unit");
                when Asis.A_Predefined_Unit =>
                   Put_Line (" - Ada predefined unit");
                when Asis.Not_An_Origin =>
                   Put_Line
                     (" - unit does not actually exist in a Context");
             end case;
    
          end loop;
       end Processing_Units;
    
       --  �������: ��� ���������� ������� �������� Context, ���������
       --  ��� ���������� � ������� ���������� � �������� ���� ����������
       --  ASIS ��� ������������ ���� �������������� ��������:
       Asis.Ada_Environments.Close (My_Context);
       Asis.Ada_Environments.Dissociate (My_Context);
       Asis.Implementation.Finalize;
    
    exception
       when Asis.Exceptions.ASIS_Inappropriate_Context |
            Asis.Exceptions.ASIS_Inappropriate_Compilation_Unit |
            Asis.Exceptions.ASIS_Failed =>
    
          --  �� ������ �������� �� ��� ���� ����������, ������� ����������
          --  � ASIS, � ������ ���, ������� ����� ���� ���������� � �����
          --  ���������� ASIS
          --
          --  ���� ���������� �����-���� ���������� ASIS, �� �������
          --  ������ ������ ASIS � ������ ����������� ASIS:
    
          Put_Line ("ASIS exception is raised:");
          Put_Line ("ASIS diagnosis is:");
          Put_Line (Asis.Implementation.Diagnosis);
          Put      ("ASIS error status is: ");
          Put_Line
            (Asis.Errors.Error_Kinds'Wide_Image
               (Asis.Implementation.Status));
    end Example1;
    

2.3 ��������� ������������������ �������

���������� ASIS ������ ������������ ��������� ������������������ �������:

  1. Asis.Implementation.Initialize (…);

    ���� ����� �������������� ���������� ��������� ������ ���������� ASIS � �������������� ���������� ASIS � ������. ��� ����������� �������� ASIS, ��������� � ��� �� ������ ������������� ���������� ASIS ����� ��������.

  2. Asis.Ada_Environments.Associate (…);

    ����� ������ ������������� ����������� �������� ���������� ��������������� ���������� ���� ASIS Context. ����� �������� �������� ��������� ��������� ����������� ��������� (Context) ASIS � «������� �����». ������ �������� ����� ���������� � ����� ��������������� ���������� ������� Associate ������������ �����������, ������, ����� ������������� ����� ���������� � �������� ���������� ���������, �������� ASIS, ������������ ���� ����������, ����� ��������������� ��� ��������� ������� ���������� ASIS (ASIS Compilation Units) ��������� ��� �������� ASIS.

  3. Asis.Ada_Environments.Open (…);

    �������� ���������� ��������� ASIS ������� ��������������� �������� Context, ������� �������� ��� ���� �������� ASIS.

    ����� �������� ���������, ���������� ASIS ����� ���������� ��������� �� ����� ��������� ������� ���������� ASIS (ASIS Compilation Units), � ������������ ���������� ������ ����� ������������ ���� ������� � �������� (Elements) ASIS � �.�.

    ASIS ���������� �� ���������� ���������, ������� �������� «������������» ���� �������� Context �������� ��������. �����-���� ���������, � ������� ��-ASIS-��������, �������� ������ ������������ ����������� ASIS ��� �������� � ���������� ����� ���������, � �� ����� ����� �������� Context ������, �������� � ������.

  4. Asis.Ada_Environments.Close (…);

    ����� �������� ��������� ���������� ����������� ��������� �� ���� �����-���� ����������. ��� �������� �������� ASIS, ������������� � ����� Compilation_Unit, Element � Line, � ���������� ����� ���� �������� Context ��� ������, ���������� �����������, � �� ������������� ����� �������� ��������� ����� �������� � ������. �������� �������� ��� ��������� Context �� ������ ���������� «������������», ����� �������� Context �������� ��������. ������� ��������, ��� �������� �������� Context ��������� ���� ���������� � «������� �����» � �� ����� ���� ������ �����, ��������� �� �� ����� ����������. ����� ������� ��������, ��� ���������� (�� ����, ��������������� ��������� ������� ���������� ASIS (ASIS Compilation Units)) ��������� Context ����� ���������� �� �����������, ��������� «������� ���» ��� ���������� ���� �������� Context ��������� ��������.

  5. Asis.Ada_Environments.Dissociate (…);

    ���� ������ ��������� ���������� ����� ��������������� ���������� ASIS � «������� �����», ����� ���� ��������������� ���������� ��������� ���������� ��������������.

  6. Asis.Implementation.Finalize (…);

    ���� ����� ����������� ��� �������, ������� �������������� ����������� ASIS.

���������� ����� ������������ ��� ���� ��������� �����. ��� ����� ����������� ������������ � ������� ���������� ASIS, ������������� � ��������� ���������� ������ � ���� �� ��������� (���� ���������� ASIS �������� ��������������), � ����� ��������� � ��������� ���� � ��� �� �������� (���� �� ��������� ���������� ����� ���������� � «������� �����»).

���������� ����� ����� ��������� ���������, ������������ �������� ����������� ASIS (������� ������ ������������ �����������). ��� ����, ��� ������� ��������� ���������, ���������� ����� ������������ ������������ ��������� ������� ����������, ������� �������� �� ����� ��������� (������� ������ ����� ������������ �����������). ������� ��������, ��� ASIS-���-GNAT �� �������� ������� ����������� ����������� �� ����� ���������� �/��� ������� ����������, ������� �������������� ������������, ���� ���������� ASIS �� ��������� ����� ������ ������� �� ������������� ��������� ��������.


2.4 ���������� ������������ ������ ASIS-����������

������� ���� ������ ������������, ��� �� ��������� ��������� ������������� ASIS-���-GNAT.

��� ��������� ������������ ������ ���������� ASIS �� ������ 1.2 (��������������, ��� �������� ����� ����� ���������� ��������� � ������� �������� � ����� � ������ example1.adb), ��� ���������� ��������� ������� gnatmake ��������� �������:

    
    
    gnatmake example1[.adb] -largs -lasis
    

������� ���������� � ���������� ����������� ������� ��� ���������� ASIS � ����� ASIS-���-GNAT ����� �������� ��������������� � ����� 10. ����������, ���������� � ���������� ���������� � ASIS-���-GNAT.


2.5 ��������� �������� ��� �����

��� ��������� �� ��������� ��� ����������, ������� ���������� ��� ���������, ASIS-���-GNAT ������������, ��� ����������, ����� ��������. ���� ������ ������������ ������������ GNAT, � �� �������� «������» ���������� �������� ������ �����������. ����� �������� ��� ��������������� � ������ 4.1 ����� ��������� � ������ ASIS ����� �����������.

����� ������� ���� ������ ��� ������, ������������� � �����-���� ����� � �������� �������, ���������� ��������������� ���� ������ ��������� ����� ����������� -gnatc -gnatt ����� ��������� ����������, ������� ����������� � ������ 2.2 ���������� ASIS ��� ������� ������������ ������, � ���� ��, ���������� ��������������� �������� ����� ����� ���������� � ������� ��������� �������:

    
    
    gcc -c -gnatc -gnatt example1.adb
    

� ���������� ����� � ������� �������� ����� ������� ���� ������ � ������ example1.adt.

����� ��������� ���������� ���� ��� ������������ � ������������ ����� �������� ���������� � ������ 4. �������� ASIS � 7. ������� ������� ASIS.


2.6 ������ ASIS-����������

����� ��������� ������������ ������ �������, ���������� ��������� �� ���������� ���� ���������� ASIS. ���� �� ��������� ���� �����, ������� ��������������� � ����� 2. ������ ���������� � ASIS, �� ������ � ���, � ������� ��������, ������ �������������� ����������� ������ example1 � ���� ������ example1.atd (������� ��������, ��� ���� ������ �������� ���������� � ������ ��� �������� �� ��� ������ � ��� ���� ������� �� ������� ���� ������ ������������ �������). ���� �� �������� ���� ���������� ��� ���������� ���� �������� ASIS, ������� ������ � ������������ ����� ������ example1.adt (����������� ��������� ASIS ����� �������� ��������������� � ����� 4. �������� ASIS ����� �����������). ��������� ������� ����� ����� ��������� ���:

    
    
       A Context contains the following compilation units:
    
          Standard (spec) - Ada predefined unit
          Example1 (body) - user-defined unit
          Ada.Text_IO (spec) - Ada predefined unit
          Ada (spec) - Ada predefined unit
          Ada.IO_Exceptions (spec) - Ada predefined unit
          Ada.Streams (spec) - Ada predefined unit
          System (spec) - Ada predefined unit
          System.File_Control_Block (spec) - Ada predefined unit
          System.Parameters (spec) - Ada predefined unit
          Ada.Characters.Handling (spec) - Ada predefined unit
          Ada.Characters (spec) - Ada predefined unit
          Asis (spec) - user-defined unit
          A4G.A_Types (spec) - user-defined unit
          A4G (spec) - user-defined unit
          Ada.Characters.Latin_1 (spec) - Ada predefined unit
          A4G.Int_Knds (spec) - user-defined unit
          Types (spec) - user-defined unit
          Unchecked_Deallocation (spec) - Ada predefined unit
          Asis.Implementation (spec) - user-defined unit
          Asis.Errors (spec) - user-defined unit
          Asis.Ada_Environments (spec) - user-defined unit
          Asis.Compilation_Units (spec) - user-defined unit
          Asis.Ada_Environments.Containers (spec) - user-defined unit
          Asis.Exceptions (spec) - user-defined unit
    

� ������� ����������, ���������� ����������� ASIS ��������������� ��� ������ ������������ �������������, � �� ������ ������������ �����������. ������� ����� ��������, ��� ��������� ���������� ���������� ������� ���������� GNAT (GNAT Run-Time Library) ����� ���� ������ ������� � ������������� ��������� withed ������ ��������� ���-�������, �, �������������, ��� ����� ���� ������������ � ����� ������. ��������� ����� �� ������ System.File_Control_Block � ���������� ���� ������.


3. ����� ASIS

��� ����� �������� ������� ����� ����������� ASIS, ������� ���������� � ��������� ASIS ISO/IEC 15291:1999 ASIS Standard. ���� ����� ������ ����������� � ���, ����� ������ ����� ������������� ASIS � ������ ����������� ���������� ����� ����������� ASIS � ���� �� ����� ������������� ��������� ASIS.

��� ��������� ����� ��������� �������� ������� ��������������� ���������� � ������������ ASIS, � ����� �������� ����� ��������� ������������� — ����������� ������� ������� ASIS (��. 7. ������� ������� ASIS).


3.1 ������� ���������� ASIS

ASIS ������������ �� ���� ������� �����������, ������������ ��� �������� ���-��������:

�������� Context
�������� ASIS — ��� ���������� ���������� ��������� ���, ������� ����������� � RM 95 Chapter 10. �� ��������� ���������� ��������� ������, ��� ������� ������ ���������� ��������� ����� ���������� ASIS � ���������� ���, ����������� ���������� ASIS ����� ������������� �������� ASIS ��� ������ ����������� ������ ������������� �������, ������� �������� ����� ������� ASIS.

������ ���������� Compilation Unit
������ ���������� ASIS — ��� ���������� ���������� �������������� ������ ���. ��, �����������, ����-�-���� �������� ��� �������� ������������� �������, ������� ����������� � RM 95, � ����� �������� ��������� �������� «���������� ��������», ���������� ������������ ����������� ��� ��� ������������� ������ (����� ��� ����� ��������� �����������, ��� ���������� ������� ���������� ��� ���������� �������� ����� ������). ������ ���������� ASIS ��������������� ��� �������������� ������ ������������� � ���� «������� �����», ������������ ������������� ������ ��� ������ �����. ������ ���������� ����� ��������������� � ������������� ��� «����� ����» � �������� ��������� ASIS.

������� Element
������� ASIS — ��� ���������� ���������� ��������������� ���������� ������ ���������� ASIS (��� �����, ��� � �������).

��������� ���������� ASIS ���������� �������������� ����������, ������� ���������� ��� ������������ ���������� ���������������� ����������������� ����� ������������:

��������� Container
��������� ASIS (������������ � ������������ ������� Asis.Ada_Environments.Containers) ������������ ����������� ���������������� ����������� ��������� ASIS ����� ����������� ������� ���������� ASIS � ����������.

������ Line
������ ASIS (������������ � ������������ ������� Asis.Text) �������� ���������� ������ ��������� ������ ���. ������ ASIS �������� ������, ������� ������ � �������.

�������� Span
�������� ASIS (������������ � ������������ ������� Asis.Text) ���������� ���������� ��������, ������ ���������� ��� ���� ���������� � ��������������� �������� ������.

������������� Id
������������� ASIS (������������ � ������������ ������� Asis.Ids) ��������������� ������ �������� ���������� «������» �������� ASIS ��� ���������� ASIS. ���������� ����� ������� �������� �������������� Id �� �������� �������� Element � ��������� ��� � �����. ����� �����, ��� �� ��� ������ ���������� ����� ��������� ����� �������� �������������� Id � ���������� ������������� ��� �������, � ��������������� �������� �������� Element.

3.2 �������� ������� ASIS

ASIS ����������� ��� �������� ������������ ������� ���. ���� ���������� ������� �������� ���� ��������.

Asis — ��� �������� ����� ��������. �� ���������� ������� ���������� ASIS (Context, Compilation_Unit � Element) ��� ��������� ����. �� ����� �������� ���������� ������������ �����, ������� ��������� ����������������� �������� ��� ��������� ASIS (��� ������ �������� ��������� ���, ��������� � RM 95) � ������������� ������� ���������� ASIS. ���� ����� �� �������� �� ������ �������;

Asis.Implementation — �������� ������������, ������� ��������� ����������� ASIS: ���������� � ������� ��, �������� � ����������������� ��������������� ����������. ��� �������� ����� Asis.Implementation.Permissions �������� ���������� �������, ������� ������ ��� ��� ������������ ����������� �������� ASIS ����������� � ����� ���������� ASIS;

Asis.Ada_Environments — �������� �������, ������� ��������������� � ���������� ASIS: ����������� � ��������� ����������, ��������� � ��������� ��������;

Asis.Compilation_Units — �������� �������, ������� �������� � �������� ���������� ASIS: ��������� ������� �� ���������, ��������� ������������� ����������� ����� �������� � ���������� ������ ��� «������� �����»;

Asis.Compilation_Units.Relations — �������� �������, ������� ���������� ��������������� ������������� ����������� ����� ������� ���������� ASIS, ��������, �������� ���� �������, ������� ���������� ������� ������ ��� ��������� ��� � ������ �������������� ���������;

Asis.Elements — �������� �������, ������� �������� � ���������� � ��������� �������� �������� ���������: ������� ������� �� ������� ���������� ASIS � ��������� ASIS, ������� ����������� ������� �������� � �������� ������������� ���������, �������, ������� ���������� ��� ������� �������� ��� ���������� ������ ���������� � ��� ���������� �������. �� ����� �������� �������, ������� �������� � �����������;

Asis.Declarations, Asis.Definitions, Asis.Statements, Asis.ExpressionsASIS.Clauses — ������ �� ���� ������� �������� ������� ������ � ���������� ���������������� ����, �� ����, �������������� ������������� �����������, ��������, ����������, ��������� � ����������� ��� ��������������;

Asis.Text — �������� �������, ������� ���������� ���������� � ������������� ��������� ������ ������� ���������� � ��������� ASIS;

Asis.Exceptions — ���������� ���������� ASIS;

Asis.Errors — ���������� ��������� ������� ������ ASIS.


3.3 ����������� � ������������� �������

�������, ������� �������� � ���������� � ���������� �������� ��� ������ ���������, ������� �� ����������� � ������������� �������.

������ ����������� ������ (����� Enclosing_Element) ��������� ���� ��� ������������ (�� ������ � �������) ���-���������, � ������������ � ��������� ������������� ��������� ASIS. ������ Asis.Elements.Enclosing_Element ��������� �������� ��� — �� ������� � ������ (��� ������� ���������, ���������� � �������� ����������� ������������� ��������, ���������� ������� ����� �� ��������������� ����, ��� ��������� �������� �� ���������� ��� � ����������� � RM 95 ���������, � ����� ������, ������������ �������������� ������� ��������� ����� ������ Enclosing_Element, ������������ � ��� ����������).

������������� ������, ��� ������� ��������, ���������� ������� �������������� ��������� ������������� �������� ������� (��������, ����������� ���� ��� ������-���� ��������� ��� ���� ���������, ����������� �������������� ��� ����������� �������� ����� � �.�.).

��������, ���� � ��� ���� ������� El �������������� ���������� ������������:

    
    
        X := A + B;
    

����� �� ����� �������� ����������� ���������� ���� ���������� ������������ �������� ��������������� ����������� �������:

    
    
       El_Var  := Asis.Statements.Assignment_Variable_Name (El); --  X
       El_Expr := Asis.Statements.Assignment_Expression    (El); --  A + B
    

�����, �� ����� ��������� ������ ������������� ������� ����� ����������, �������������� � ������� El_Var, � ���������, ��������������� � ������� El_Expr, ������������ ���������� ������������� �������:

    
    
       El_Var_Def   :=
          Asis.Expressions.Corresponding_Name_Definition (El_Var);
       El_Expt_Type :=
          Asis.Expressions.Corresponding_Expression_Type (El_Expr);
    

��� ���������, El_Var_Def ����� ������������ � ���� A_Defining_Identifier � ����� ������������ ������ �������� X, ����� El_Expt_Type ���� An_Ordinary_Type_Declaration ����� ������������ ����������� ���� ��������� A + B.

���� �� �������� Asis.Elements.Enclosing_Element ��� El_Var ��� El_Expr, �� �� ������� �������, ������� ������������ ���������� ������������.

� ������ ����������� � ������������� �������� ������������� ��� ���������� ���������� ������� ���� ������ ���������: ��� ����������� ������� �� ����� ����� �� ������� ������ ������ ���������� ASIS, ������ ��� ������������� �������� ������ ������ �������� ����� �������� ������� ���������� � ����� ������ ���������� ASIS, � ��������� ����� ������� ���������� � ������ ������ ���������� ASIS.


3.4 �������� ��������� ������ ASIS

������ �� ����������, ������� ���������� � ASIS (� ���������������� ���������� ��� Storage_Error) ����� ���������������� �� ������� �������� ASIS. ���������� ASIS ���������� � ������ Asis.Exceptions.

��� ����������� ���������� ASIS, ASIS ������������� ������ ������ (��������� ������� ������ ASIS ���������� ��� �������� ���� Asis.Errors.Error_Kinds) � ��������� ������ �����������. ���������� ����� �������� ������� �������� ������� ������ ASIS � ������� ������� Asis.Implementation.Status, � ������� ���������� ������ ����������� � ������� ������� Asis.Implementation.Diagnosis. ����� �����, ���������� ����� ����������������� ���������� ������� ������ � ������ ����������� � ������� ��������� Asis.Implementation.Set_Status.


3.5 ������������ �������� ������������ �������� ASIS

ASIS ����� ������ ���� ��� (Element) ��� ���� ����� �������������� ����������� ���, � ������ ���� ��� (Compilation_Unit) ��� ���� ����� ������������� ������� ���. ������, ������ �������, �������������� �������� ASIS � ������ ���������� ASIS. ����� �������������� ����������� ������ ��� ������������ ����� ��������� ASIS � ������� ���������� ASIS (��������, �� ����� ������ � ����� ������������ ������ Assignment_Variable_Name ��� ��������, �������� ��� An_Ordinary_Type_Declaration).

ASIS �������� ����������� � ������������ ��������� ������������/������������ (dynamic validity checking interface). ���� ������ ��������� �������� �������� ����������������� ������� ��������� ����������� ����, �� ��� �������������, ��� ����� ������ ����� ������������ ������ �� �������� ��� ��� ������ � ������. ��� ������ �������� �������� ��� ��������� ���������, ��� ������� �� ���������� � ������ ��������� ����������� ����, ����� ������������ ���������� Asis.Exceptions.ASIS_Inappropriate_Element �� �������� ������ Asis.Errors.Value_Error.

���� ������ ��������� ������ ���������� �������� ����������������� ������� ������� ���������� ����������� ����, �� ����� ������ ����� ������������ ������ �� ������ ���������� ��� ��� ������ � ������. ��� ������ �������� �������� ��� ��������� ������� ����������, ��� ������� �� ���������� � ������ ������� ���������� ����������� ����, ����� ������������ ���������� Asis.Exceptions.ASIS_Inappropriate_Compilation_Unit �� �������� ������ Asis.Errors.Value_Error.

���� ������ �������� ���������������� ������� ��������� ����� ��������� ��� ������� ����������, ��, ��� ������ � ������ �����������, ����� ������ �� ����� ���������� ������� ����������. ������, ������������ �������� �������� ���������� ����� ����� ����� ������ ��� ��� ����������, ��� ������� ������ � ������. ��������, ���� ������ Asis.Elements.Statement_Kind ������ ��� ��������� � ����� A_Declaration, �� �� ������ ������ ��������� Not_A_Statement, �� ��������� ��� ���� ������� ����������.


3.6 ASIS-��������

ASIS ��������������� ������ �������� ������������ ���-����, �������������� ������������� ���������� Asis.Iterator.Traverse_Element. ��� ��������� ������������ ������������ ������ ASIS ������-���� �����-��-����� (����� �������, �������������� ��������� ���-���� ������������ ��������� ��������� ASIS). � ����������� ������������, ��� ��������� ��������� � ������� �������� ���������� ��������� Pre_Operation, ����� ������� «��������» �������, � ���������� ��������� Post_Operation, ����� «��������» �������. �������������� ���� ����������� ���������� �������� Pre_Operation � Post_Operation, ������������ ����� ����������� �������������� ��������� ���� ��������� ASIS, ������� ���������� � ������ ������ ASIS.

��������, �����������, ��� � ��� ���� ��������� ���������� ������������:

    
    
        X := F (Y);
    

��� ������ ��� �������� ASIS, ������� ������������ ���������� ���� ����������, ����������� ��������� Traverse_Element ��������� ��������� (����, Pre_Op � Post_Op �������� ������������ �����������, ������� ������� ��� ���������� ���������� ��������� Pre_Operation � Post_Operation, � ����� ���������� ������������������ ������� Pre_Op � Post_Op � �������� ������������):

    
    
                 (1 Pre_Op)  X := F (Y) (10 Post_Op)
                                 |
                                 |
               -----------------------------------
               |                                 |
    (2 Pre_Op) X (3 Post_Op)                     |
                                                 |
                                    (4 Pre_Op) F(Y) (9 Post_Op)
                                                 |
                                                 |
                                    ---------------------------
                                    |                         |
                        (5 Pre_Op)  F (6 Post_Op)  (7 Pre_Op) Y (8 Post_Op)
    

����� ����� �������� ����������� ������� ������������� Traverse_Element, ��� �������-�-������ ���������� ��������� �������� ���������� ASIS, ������� ���������� � ������� �������� ASIS, ������� ������������ � ������������ ASIS-���-GNAT.


3.7 ��������� �� ������������ ASIS

��������� ������ � ��������� ����� ��������� ��������� ��� ������ �����-���� ������������� ���������� � �������� ASIS:

  1. ����������� ������� ����� ������� ASIS, ������� ���������� � ������ 3.2 �������� ������� ASIS, ����� ���������� ������ ������� ������ ������� ASIS (��������, ���� ��� ����������, ��� ����� ���� ��������� � �������� ���������� Compilation_Units — ������� ���������� ������ ������ ������� Asis.Compilation_Units, ���� �� ����� �������, ������� ����� ���� ������������ ��� ������������ � ������� ����������� (declarations), ���������� ���� ������ ������� Asis.Declarations).
  2. ������ ������� ASIS, ������������ ���� (Asis.Declarations, Asis.Definitions, Asis.Statements, Asis.ExpressionsASIS.Clauses) �������� ��������� ASIS ����������� � ������������ � �������� �������� ��������������� ����������� � RM 95 (��������, ����� Asis.Statements ���������� � ������� ��������� �����, � ������������� �������� ������������ ����������).
  3. ����� ���� ������������� �������� ���������� � Corresponding_… ��� Implicit_….
  4. ����������� ��������������� ����������� (comment sentinels), ���������� � ������������ ������� ASIS. ��������������� ����������� ���� «—|ER» (�� «Element Reference«) ������ ����� ��� ��������, � �� �������������� ������� ��������������� ������������ ���� «—|CR» (�� «Child Reference«), ������� ����������� ������� ���������� �������� �������� ��� ������ ��� ���������� ��������.

4. �������� ASIS

4.1 ����� ��������� � ������ ASIS

� ����� ������ ���������� ASIS �� ����� ������������� �������� ASIS (ASIS Context) ��� ��������� ������� ���������� ASIS (ASIS Compilation Units), ������� �������� ��� �������� ASIS. ����� ����������� ���������� ASIS �������� ����������� ���������� ��������� ASIS �� ��������� ���������� ���������� ������, ������� ��������� � ����������� ������������ ���-������������ ��� ���������� ������������� ������� ���. �����-���� �������� ASIS �������� ��������� ������ ����������� ������������� ������.

� ������ ASIS-���-GNAT, ���������� ASIS ���������� �� ������������ ������������ ������ �������� (��� ������ — ������ ��������). ��� ������� GNAT �� ����������� ������ (-gnatt), �� ������� � ������� ���� ������ � ������, ����� � �������� ���������� �� ���� ���������� ������. ���� ������ �������� ������������ «�������» ���������� �������� ������ ����������� (���������� �� ����������� �������������� ������ (Abstract Syntax Tree, ���������� — AST)), ���������� � ����� ����� ������� ����������� ����������. ����� �����, ASIS ������ ���� ������ � ���������� ���� ���������� ��������� ������ � ������������ � �������, ������� ���� ���������� � ����� ����� ��������������� ������� ����������� ����������.

����� �� ������ ��������� ������ ���������� GNAT, ������� �������� �� �������� �������, �������� ��, ��� AST �������� ������ ���������� �� ������ �� ����������������� ������, �� ����� � ��� ���� ������� �� ������� ���� ������ ������� ������������. �������������, ������� ����������� ������ ������, ASIS ����� ������������ ���������� ����� ��� �� ����� ������. ��� ��������� ����� ������, ����� ���� ������������ ���������� � ������ ��� �������� ��� ������ ���� �������, � ����� ��� ���� ������� �� ������� ���� ������ ������������ �������. ������, ��� ��������� ���������� �������, ASIS, � ��������� �������, ������ �������� �������������� ������ (� ���������, ����� ���������� ������������� ����� ��������, ������� ������������ �� �������� ���� �� �����). �������������, � ���� ������ ���������� ASIS, ASIS ����� ������ ��������� ����� ��������, � �� ����� ������������ ���� � ��� �� ���� ������ ��������� ���.

��� ����� ������ ����������� �� ����� �������������� ����� � �������� �������, ����� ������ �������� �� ‘.adt’. ��������, ���� ������ ��� foo.adb ����� ����� ��� foo.adt.


4.2 �������� ������ ������ ��� ������������� � ASIS

��� ��������� ���-���������, �� GNAT, �� gnatmake �� ������� ����� �������� �������������. ��������������� �� �������� ������ ������ ��������, ������� ����� ��������� ���������� ����� ���-����������� (������������ �������������� ASIS �/��� ����������� ASIS), � ����� ������������� ��������������� �������� � ���������������� ������� �������� �������, ��������� ��������� �� ������������ ���������� ASIS.

����� ������� ���� ������ ��� ������-���� ����� � �������� �������, ��������������� ���� � �������� ������� ������ ���� ������������� � ��������� ����� -gnatc � -gnatt:

    
    
        gcc -c -gnatc -gnatt foo.adb
    

���������� ���� ������� ����������� ���� foo.adt, ��� ���� ���������������, ��� ���� foo.adb �������� �������� ����� ����������� �������������� ������ ���. ����� -gnatt ��������� �� ������������� ��������� ����� ������, � ����� -gnatc — ��������� ���������� ������. ASIS ���������� ����� ��������, ������� ������� ��� ���������� ������, � �� ����� ��� GNAT ��������� � ����������� AST, ��� �������� ��������� ������. �������������, ������������� ��������� ������ �������� � ��������� ������ — ����������.

������� ������� ��������� ������ �������� ��� ��������� � ������ � ������� ��������:

  1. ASIS-���-GNAT ������������ ��� ���������� ������ ����������� GNAT. ��� �������, ������� ����� �������������� ����������� ASIS, ������ �������������� ���� ������� �����������.
  2. ��� �������� ����� ������ ��� ASIS, ����������� ���������� �������� ����� -gnatc � -gnatt. �� ������� ������������� �� � ��������� ����� -gnatct ��� -gnattc, ��������� ��� �������� � ��������� ���������� ���������� �����.
  3. ���� � �������� ���������� ���� ���������� ������, �� ���� ������ �� ����� ������.
  4. � ������� �� ��������� ������, ���� ������ ����� ���� ������������ ��� ������ ����������� �������������� ������ ���, ������� �������� ������������ �������, ������� ������� ������� ��� � ����������� �������.
  5. ����� ������ ��������, �������������� ASIS (��� ����������� ASIS) ����� ���� ���������������. ��������, ��� ����� �������� ����� ���� ������� ��� ������������� ������ ������ ��������� ������ ������ � ���� �� ������. ��� �������� � ������������������ � ��������������� ��������� ASIS. �� ����� ���������� ���������� ������� ���������� � ������ 4.4 �������� ���������������.
  6. �� ����������� �������������� ����� ��������, ��������� ����� � ����� � ��������� �������� �� ��������� ������������ �������� �������! ��� ������ «��������» ASIS, � �� ����� ���������� ����������������� ����� ������� �������� � ������� � ��������� ��������, ��� �������� ���������, ��� �� ������ �������� ������ ��������� ��� ������� ����� � ��������� �������� ��� ���������� ����� ��� ���������� ������ ���������� ASIS.
  7. ��� ������� gcc ��� gnatmake, ��� �������� ������ ��������, ��� ����� ������ � ���������, ������� �������� ���������� �� ������������� �����, ������ ���������� � «./» ��� «../» («.» � «..» �������������� � Windows NT/95). ����� �������, ��� �������� ����� ������ ��� ����� � �������� ������� foo.adb, ������� ���������� �� ��������� �������� � ������ «inner», ���������� ��������� gcc � ������� �������:

      
      
           >gcc -c -gnatc -gnatt .innerfoo.adb
      

    �� �� �������:

      
      
           >gcc -c -gnatc -gnatt innerfoo.ads
      

    ����� ASIS «����������».

  8. ��� ������ ����� ������, ASIS ���������, ��� ���� ���� ������ � ��������� ����� -gnatc, � �� �� ����� ������������ �������, ������� ������� ��� �������� ����� -gnatc.
  9. ����� �������� � ����� ALI. ��� ������� ��� ���������� ������, GNAT �� ��������� ���� ALI ����� ���� ALI, ��� �������������� ������, ��� ���������� � ���� ���� ���� ALI �����������. ����� ����, GNAT, ��� ��������� ����� ������, ����� ������������ ��������� ���������� �� ������������� ����� ALI. ����� �������, ���� ��� ���������� ������������� ������� ��� ����� ��������� ��������� ������ � ������ ��������, ���������� ������� ������� ��������� �����, � ����� — ����� ��������.
  10. ��� ������ �������� ���������� ������ ���� ���������� ����� ����� — .adt, � �� ����� ��� ����������� ���������� GNAT �� ������������ ������ � ��������� �������� ��� ���������� ��������� ���������� ���� ������ ��� ������ ������������ (.ads) � ��� ������ ��� (.adb). ��� �������������, ��� �������, ��� ��������� ������, �� ������������ ����:

      
      
           >gcc -c -gnatc -gnatt foo.adb
      

    � ����� — ��������������� ������������:

      
      
           >gcc -c -gnatc -gnatt foo.ads
      

    ����� �������, ���� ������ foo.adt ����� ������ ������: ������ ��� — ��� ����, ������ ��� — ��� ������������. ��� ����, ���� ������, ������� ������� ��� ������������, ��������� ���� ������, ���������� ��� ����, � ���������� � ����, ����������� ASIS, ����� ��������. ���� �� ������� ��������� ���� ������ ��� ������������, � ����� — ��� ����, �� ���� ������ ��� ���� ��������� ���� ������ ��� ������������, � ��� ���� �� ����� ������ ���������� ������������ ASIS, ��������� ������ ��� ���� ����� ��������� ��� ���������� ��������������� ������������.

    ����� �������� ������ ����������, ��� �������� �������� ��� ��������� �������� ������� ���, ���������� �������������� ��������� ������:

    • ���� ��������� ��������� ��������� ���-����������� ���������� ����������� ������ ���������, �� ������� ������������ ������� gnatmake (�� ������������� ���������� � ������ 8.4 ������������� gnatmake ��� �������� ������ ������);
    • � ��������� ������, ������� ������� ������� ����� �������� ��� ������������, � ����� — ��� ���:

        
        
               >gcc -c -gnatc -gnatt *.ads
               >gcc -c -gnatc -gnatt *.adb
        
  11. ������ ������ �������� �������� ���������, ������� �������� �� �������. ������� �������� �������������� ����� �������������� ����������� ������ �������� � ��������� �������� �������� ������� ��������. (��. ����� 8. ��� ��������� ����������� ���������� ASIS).

������� ��������, ��� ����� ��������� � ��������� ��������� ASIS, ���������� ASIS �� ������ �������� �������� ������ �������� �������� �������� (��� ������ ��������������� ��� �������� ����� ����������� ������ ������� ASIS), � ��������� ������, ��������� ���������� ASIS ����� ���� ���������.


4.2.1 �������� ������ ��� ���������� ������������ ������

������������� ���������� ������������ ������ ASIS (ASIS Data Decomposition Annex, ���������� — DDA) �� ������� �� ������������ ASIS ���������� �����-���� ����������� ��������, �� ����������� ����������. ���������� ASIS DDA ���������� �� ��������� ����������� ���������, ������� ����������� ������������ � ������������ ASIS ��������. ������������ ASIS ������ ����������� � ��� �����, ��� �������, ������� ������� ��� ����������� �������, �� �������� ���� ����������� ����������, ������������� ������� ASIS DDA �� �������� ��������� �� ��������, ������� ������� ��� ����������� ������� (� ����� ������� ����� �������� �� ���������, ����� ����� ������ �������� ������������ �������� �������� ������, ������� ������� ��� ������������ ������).

����� �������, ��� ������ � ASIS DDA, ������������ ������ �������� �������� ��������� �������� ��� ����������� �������. ����������, �������� ������ ��� ������������ ������ �� �������� ������������, ������������ ������ ����� ����� �������� ����� ���� ������-��������. ���� � ����� �������� ������������ ������� ������ ��� ���� ������-��������, �� ��� ����� ��������� ������ ���������� (������� ���������, ������� ���������� ��� DDA) ��� ���� ������������ ����������� �������. � ������ �������, ������, ������� ������� ��� ���������� ������������ ������, ������ ��������� ���������� � ���� ������-��������, ����� �������, ��� ������� ����� ������ �� ��� � � ������ ��� ���� ������-��������.

������ �������� �������� ��������, ��� ������������� ASIS DDA, �������� ������������� ������� gnatmake — ��� ������� �� ����� ��������� ��� ����������� ������� ��������� �������.


4.3 ��������� ������� ����������� ��������� ASIS � ASIS-���-GNAT

������ Asis.Ada_Environments.Associate, ������� ���������� �������� Context, ����� ��������� �������:

    
    
        procedure Associate
                     (The_Context : in out Asis.Context;
                      Name        : in     Wide_String;
                      Parameters  : in     Wide_String := Default_Parameters);
    

� ASIS-���-GNAT �������� Name �� �������� ������� ����������� �������, � ��� �������� �������������� ��������� ������������ ���������� ������ ���������� Parameters.

��� ������������� �������������� ��������� ASIS, � ASIS-���-GNAT, �� ������ ������������ � ������� Asis.Ada_Environments.Associate �������� ������ ���������� Parameters ��� ������������ ����������:

  • ������ ����������� ������ ������ �������� ���������� �������� Context (����� -C);
  • ������ ��������� ������ �������� ��� �������� ��������� Context � ��� ��������� �������� ASIS (����� -F);
  • ������ ��������� ������ � ��������� �������� �� ����� �������� ���������������, ��� �������� ��������� Context (����� -S);
  • ���� ������ ������ �������� ���������� �������� Context (����� -T);
  • ���� ������ ������ � ��������� ��������, ������� �������������� ��� ������� GNAT ��� �������� ������ �������� «�� ����» (����� -I);

�����, ��������� �������������� ����� (� � ��������� ������� ������) ��������� ����� ������ �������� ��� ��������, ���������� ���� ������ ��� ������ �������� �/��� ������ � ��������� ��������. ���� ���������� ����� ���������� �������������� ��������� Context � ASIS-���-GNAT (������������ ����������� � ASIS-���-GNAT Reference Manual).

������� ��������, ��� ����� ����� �������������� ��������� �� �������� �����������. �� ������ � ������� ��� ��������� � ������ ������������� ���������� ASIS, � �� ����� �������� ��� ��������� ������������ ����� ����� � �������.

��� ����������� ������ ������ �������� ������������ �������� Context �������� ������������� ��������� �����:

  • -C1
    �������� �� ������ ������. ���������� �������� Context, ������� ��������� ��������� ������ ������. ��� ������ ����� ������ ������ ���� ������� � ������ ���������� Parameters ����.

  • -CN
    �������� �� N ��������. ���������� �������� Context, ������� ��������� ������� ������ ��������. ����� ������ ��������, ������������ �������� Context, ������ ���� ���� ������� � ������ ���������� Parameters.

  • -CP
    �������� �������. � ��������� ������ ��� ����� �� �����������. ���� ����������� � ����������� ���������, ������� ������������ ����������� �������� �������, ��� ��� ������� � RM 95, 10.2.

  • -CA
    �������� �� ���� ��������. ���������� �������� Context ��������� ������� �� ���� ������ ��������, ������� ����������� � ���� ������ ������ ��������, ��������� � ������ ���������� Parameters. ����� ��� ����� ����������� ������������ � ������ -FM, ASIS, ��� ��������� �������� �������� ������ ���������� ASIS (ASIS Compilation Units), ������� ����� ����� �������� «�� ����».

��� �������� ������� ��������� ������ �������� ��� �������� ��������� Context � ��� ��������� �������� ASIS, �������� ������������� ��������� �����:

  • -FS
    ��� �������, ������� ��������������� ��� ����������� �������� Context, ��������� «�� ����», ��� ����������� �� ������������� ��������������� ������ ��������. ����� ��������, ���� ������ ����� ���� ����������� �������� ���� �������� Context �������� ��������. ��� ����� ����� ���� ����������� ������ ������ � ������ -CA.

  • -FT
    ������������ ������ �������������� ��������� �������. ASIS �� ����� ������� ���� ������.

  • -FM
    ��������� ������: ���� ����������� ���� ������ �����������, �� �������������� ������� ������� ��� «�� ����». ��� ����� ����� ���� ����������� ������ ������ � ������ -CA.

��� �������� ������� ��������� ������ � ��������� �������� �� ����� �������� ��������������� ��� �������� ��������� Context, �������� ������������� ��������� �����:

  • -SA
    ����� � ��������� �������� ��� ���� ������� ����������, ������� ����������� � ��������� Context (����� ����������������� ������ Standard), ����� ������ ��� �������� ��������������� � �������� �������� ��������� Context (��. 3.4, ��� ��������������� �������� ��������������� � ASIS-���-GNAT).

  • -SE
    ������ ������������ ����� � ��������� �������� ��� ���� ������� ����������, ������� ����������� � ��������� Context, ����� ������ ��� �������� ��������������� � �������� �������� ��������� Context (��. 3.4, ��� ��������������� �������� ��������������� � ASIS-���-GNAT).

  • -SN
    �� ���� �� ������ � �������� �������, ������� �������� �� ������������ �������� �������, �� ����� ����������� ��� �������� ���������������� ������ ������ �������� ����������� �������� Context.

������� �� ��������� �������� -CA, -FT � -SA.

������� ��������, ��� ��� ��������� -C1, ������ ���������� ������ ��������� ������������ ��� ����� ������. ����� ����, ��� ������ ���������, ���� �� ����� �������� ��������� ���� ���� ������, �� �����-���� �������, �� ����� ������� ��������, ����� ���������� ���������� Asis_Failed.

������������� ����� -I, ��� ����������� ��������� ASIS, ������� ������������� ����� -I ��� ������ GNAT. ����� -T ������������ ����������� �������, �� ��� ������ ��������, ������������ ������������� ����� -T � -I ����������� � ���������� ����������� �� ASIS-���-GNAT (IS-���-GNAT Reference Manual). ������� ��������, ��� ����� -T ������������ ������ ��� ������ ������������ ������ ��������, � ��� �� ����� ������� ��� ��������� -FS. � ������ �������, ����� -I ������������ ������ ��� ���������� ������ ���������� ����� ASIS ��������� GNAT ��� �������� ������ �������� «�� ����». ����� -I �� ����� ������� ��� ��������� -FT, � ��� �� ����� ���� ������������ ��� �������� ASIS — ��� ���������� ������ ����� � ��������� �������� ��� ������� ���������� ASIS.


4.4 �������� ���������������

��� ������ � ASIS-���-GNAT, ����������� ��� ��������� ���� ������� ���������������, � ��� �� ��� ����� ���� ��������� ��� �������� ��������� ASIS.

��-������, �������� �������� �������� ����� ������ � ������� ������ ������ ����������� GNAT (������� ���������� � ����� README, ����� �������� ���������� � ������� ����������� GNAT � ASIS-���-GNAT). ��� ������������� ������� ������� ��������� � ������������ ASIS-���-GNAT.

��-������, ����� �������� ����� ���� �� ����������� � ������������� ������� � ��������� ��������, ��� ����� �����.


4.4.1 ��������������� ������ ASIS � GNAT

����� ASIS-���-GNAT ������ ���� ������, ��������� ������� ����������� ��� ������� �� �������������� ������������� ASIS-���-GNAT, ASIS ������������� �������� ��� ������ ������������ ����������� ASIS-���-GNAT, � ���������� ���������� PROGRAM_ERROR, � ��������������� ����������. � ���� ������, ���������� PROGRAM_ERROR �� ����� ���� ��������� �����-���� �������� ASIS, � ��� ���������������� �� ������� ASIS. �������������, ��� ��� �� �������� ���������� ����������, ������� ���������� � ������������ ASIS, � ���, ��� ������������ ��� ASIS ���������� �� ����� ���������������� �� �������� �������� ASIS, ��������� � ���� �������� �� �� ��������� ��������� ������������� ������� ASIS-���-GNAT �, �������������, �� ��������� ��������������� ����������� ASIS. ������� ����� ��������, ��� �������� �������� ��������� ������ ����� ������� �����-���� ������ ���� ������, ������� �� ������ ������� ����� ��������������� ASIS-���-GNAT. �������� ������ ����� ��������������� ��� ������ ����������� ASIS-���-GNAT.

������ ����������� ��� ������������� � ����� ����������� ASIS ����������� ���������� «when others«: �� ����������� ��� � ����� ������������ ��-ASIS ���������� � ���������� �� ��� ������-���� �������.


4.4.2 ��������������� ������ �������� � ������ � ��������� ��������

��� ��������� ���������� (����� ������) ������ ��������, ���������� ���� � ��� �� �������� Context, ASIS ����� ���������� �������� ���������������. ����� ������ �������� �������� ��������������� ����� �� �������� ��� (� �����) ������ �������������� ���� � ��� �� ������������� ������ � ��� ������� ���� ������� ��� ������������� ��������� ������ ��������� ������ ����� ������. ���� ������ �������� ��������������� � �������� ������� ������, ��������������� ���� �������, ����� ��������� � ������� ������ ���� � �������� ������� ������ ���������� �� ��������� ������, ������� ��� ����������� ��� ���������� ����� ������.

��� �������� ��������� Context (������ Asis.Ada_Environmens.Open), ASIS ������������ ��������� �������� ��� ���� ������ ��������, ������� �������� �������� Context:

  • ����� ��� ��������� Context ����������� ����� -SA, ASIS ���������, ��� ��� ������� ������ ���������� Compilation Unit, ��������������� � ������� ������, �������� ���� � �������� ������� � ��� ���� �� ���� ��� ����������� ��� �������� ������ (���� ������ �������� ������ ��� ���� ������ � ��������� ��������, ������� ���� ������������ ��� �������� ����� ������).
  • ����� ��� ��������� Context ����������� ����� -SE, � ��� ������ ���������� Compilation Unit, ��������������� � ������� ������, ���������� ���� � �������� �������, ASIS ���������, ��� ���� �������� ����� �������� ��� �� ����� �������� �������, ������� ��� ����������� ��� �������� ������. ���� ��� ������ ���������� Compilation Unit, ������� ����������� ��������� Context, �� ���������� ����� � �������� �������, ASIS ���������, ��� ��� ����� �������� ���������� ���� ������ ���� ������� ��������� ���� � �� �� ������ ��������� ������ ����� ������.
  • ����� ��� ��������� Context ����������� ����� -SN, ASIS ���������, ��� ��� ������� ���� ������� �� ����� � ��� �� ������ �������� �������.

���� �����-���� �� ���� �������� ��������, � ���������� ������� �������� ��������� Context ����� ������������ ���������� Asis_Failed. ���� �������� Context ��� ������� ������, �� ��� �����������, ��� ASIS ����� ������������ ������������� ����� ������ �������� � ��������� ������, ������ �� �������� ��������� Context (�������� ���, ����� ���� ������ �� ������ ���� ������� �����-���� ������� �� ��������� � ASIS ���������).


4.5 ������������� ��������� ���������� ����������

���� ���� ���������� ASIS ������������ ����� ������ ������������ ��������� ���������, � ���� ������ ���� �������� ��������� � �������������� ����� -FS ��� -FM, �� ��� ������� ���������, ��� ��� ����� ��������, ������� ����� ������� ASIS «�� ����», ����� ����������� � ������� ��������. �������������, ����� ��������� ������������ ����� ������ ������������ ��������� ���������, ���������� ASIS ������ �������� ��� ������� ����� ����������, ������� ��������� � �������������� ����� -FS ��� -FM. ��� ������� ������ ���������, ��� ��������� ��������� �� ������ ������������ ����� ��������, ������� ����������� � ������� ��������.


5. ASIS-������������� asistant

5.1 ���������� � asistant

asistant �������� ������������� ����������� � �������� ASIS. �� ��������� ������������ ����������������� � ASIS ��� ���������� ������ ������������ ���������� ASIS. �� ������������ ������� ��������� ����, ������� ��������� ���������� ���������� ����� ASIS � ����������� �� �������� � ������� ��������� � �������� ASIS.

asistant ����� ���� ����� ������� � �������� �������� ASIS: �� ��������� ������������������ � ���������� ��������� ASIS, ���������� ��������� ���������� ��������. � ������ �����-���� ������ ��������� � �������� ASIS, ���������� asistant �� ����������� (��������, ��� ��������� � ������� � ������������ ����� �������� Element) — ������ �����, �� �������� �� ������, � ���� ������������ ����������� ����������� ��� ���.

asistant ����� ���� ����� ������� ��� �������� ������� � ������������ ASIS � �������� ������� ���������� ASIS: ����� � ������������ ���������� ASIS ��������� �����-���� �������� � ������ �������, ������� ������ ���� ����������� � ������������ ��������, ��� � ��������� �������������� ������ ������-���� �������, ��� ��������� ������-���� ��������� ���-����, ����������� ����� ������������ asistant, ��� ���� ����� ������������ ������������� ��������, ������� �������� ���������� �������� � ��� ���������� ASIS, � �������������������� � ��������� ASIS.

���� asistant ���������� �������� ������������� ���������, �� ����� �������� ���������������� ������������������ ������, ������� �������� � ���� (���������� ����� ��������). �����, asistant ����� ��������� � ����� �������� (log) ������������� ������, ������� ������������ ����� ���� ����������� ��� ������-����.

������ ������������ � asistant ���������� � ����������� ������������ asistant — «asistant Users’ Guide» (���� asistant.ug � �������� �������� ������� asistant). ����� ���������� ������ ������� ����� ������������� asistant.

����������� ������ asistant ��������� � �������� �������� ������� asistant, ��� ����� �������� ����������� ASIS-���-GNAT � �������� �������������� ���-����������. ��������� ���� ����������� ������ � ��� ���� ������ ����������� ������, � ����� ������� ������� ‘asistant’, ��� ������� asistant � ������������� ������. � ����������, ��������� ������ � ���� ������� ����������, � ����� �������� ������ ����������� asistant ‘>’. ������, ��� ����� ��������� ��������� �������:

    
    
    ASIStant - ASIS Tester And iNTerpreter, v1.2
    (C) 1997-1999, Free Software Foundation, Inc.
      Asis Version: ASIS 2.0.R
    
    >
    

������, ������������ ����� ������� ������� asistant (� ����� ��������� �����, asistant ������������ ����� �� ����� ������������ ��� � ���� ���, ����� �������� �� ���������� �� ��������):

    
    
    >Initialize ("") -- ������ ������������� ASIS ���������� �
                     -- ������ ������� � �������� ���������
    
    >set (Cont) --  �������� ��-������������������ ���������� ��������� Cont
                --  ���� ASIS Context
    
    >Associate (Cont, "", "") --  ����� ������� �������������� ASIS
                              --  � ����� ������� ��������, � �������� ����������,
                              --  ��� ���������� ��������� Cont
    
    >Open (Cont)  --  ����� ������� ASIS Open ��� ���������� ��������� Cont
    
    >set (C_U, Compilation_Unit_Body ("Test", Cont)) --  �������� ����������
      --  ������ ���������� C_U ���� ASIS Compilation_Unit � �� �������������
      --  ����������� ������ ������� ASIS Compilation_Unit_Body.
      --  � ����������, C_U ����� ������������ ������������� ������
      --  � ������ "Test", ������������ � ��������� ASIS ��������� Cont.
    
    >set (Unit, Unit_Declaration (C_U))  --  �������� ���������� �������� Unit
      --  ���� ASIS Element � �� ������������� ����������� ������ ������� ASIS
      --  Unit_Declaration
    
    >print (Unit) --  � ���������� ���������� ���� �������, ASIS ���������
                  --  ����� ������� �������� �������� Unit:
    
    Element Debug_Image:
    A_PROCEDURE_BODY_DECLARATION
    located in Test (body, Unit_Id = 2, Context_Id = 1)
    text position : 1 : 1 - 9 : 7
       Nodes:
          Node            : 1363 - N_SUBPROGRAM_BODY
          R_Node          : 1363 - N_SUBPROGRAM_BODY
          Node_Field_1    : 0 - N_EMPTY
       Rel_Sloc           : -10
       obtained from the tree .test.atb (Tree_Id = 1)
    
    --  ����������� ������, ��� �� ������ ������ - �� �������� ������ ASIS
    --  ��� ��-����������� ��������:
    
    >set (Elem, Assignment_Expression (Unit))
    
    --  ASIS �������� ����������, � asistant ��������� ���������� ���������� ASIS:
    
    Exception is raised by ASIS query ASSIGNMENT_EXPRESSION.
    Status : VALUE_ERROR
    Diagnosis :
    Inappropriate Element Kind in Asis.Statements.Assignment_Expression
    
    --  ��� �� ������� ��������� �� ����� �� ������������ ����������,
    --  � asistant ����� �������� ���� ������� ������������:
    
    > ...
    

5.2 ������� asistant

������ ������ asistant, ������� ���������� � ���� ������, — �� ������, � �� ��������������� ��� ������������� � �������� ����������� �� �������� asistant. ��� �������� ���� ����������� � ������������ ������ ������������� � ���, ��� ����� ���� ��������� � ������� asistant:

  • Help [(name)]
    ���������� ������� ������� ASIS ‘name’. ��� ������ ��� ����������, ���������� ����� ��������� asistant.

  • Set (name)
    ������� (��-������������������) ���������� ���� ASIS Context, � ������ ‘name’.

  • Set (name, expr)
    ��������� ��������� ‘expr’ (���������� ‘expr’ ����� ���� ����� ���������� ��� asistant ���������; �����������, �������� ����� ������� �������� ��������� � ������-���� ������� ASIS) � ������� ����������, ��� ������� ‘name’, � ����� � ��������� ��������� ‘expr’.

  • Print (expr)
    ��������� � ���������� �������� ��������� ‘expr’.

  • Run («filename»)
    ��������� ������ �� ����� «filename», � ������ ����������� ������� �� ����.

  • Pause
    ������������� ���������� �������� ������� � ��������� asistant � ������������� �����.

  • Run
    ���������� ���������� ������������� ����������������� �������.

  • Browse
    ����������� asistant � ����� ���������� ��������� ������ ASIS.

  • Log («filename»)
    ������� ���� «filename» ��� ���������������� ������.

  • Log
    ������� ������� ���� ��������� ������.

  • Quit [(exit-status)]
    ��������� ������ � asistant.

5.3 ���������� asistant

���������� asistant ��������� (�������) ����� � ����� ���. ���������� ����� ����� ����� ��� ASIS, � ����� ������� ������������� (integer), ���������� (boolean) � ��������� (string) ����. ��� ���������� � �� �������� ��������� � ������������� �����������, ����� ������������� ������� Set. ���������������� ���������� �����������.

� asistant ����������� �������� �����: ������ ����� ������� Set ����� ��������������� ��� �������� (������) ������� ��������� � ��� ������������� ���������, ������� ����������������� ������ ����������.


5.4 �������� ������ ASIS

������������ ���������� ����� ��������� � ��������� ������� BROWSE. BROWSE ��������� ������������� ������ asistant � ���������� ������������� ������ �������������. ������� ������������� ‘Q’ ������������ �������� ������������ — � ����� �������������� ������ asistant, � ��������� ������������� ������ �������������.

��������� ������� BROWSE ����� ������������ �������� ���� Element, ����� ���� ������������ �������� ���������� ������ ASIS ������� � ����� ��������� ���� Element. BROWSE ���������� ��������� ���� Element, ��� ������� �� ������� ���������� ������� ����������� ������ ASIS. ����� �������, ����� ������������ ������ �������:

    
    
    > set (e0, Browse (e1))
    

�� �������� ������������ (�����������) ������ ASIS ������� � �������� e1, � ��� ���������� ������������, e0 ����� ������������ ��������� �������, ������� ��� ������� � �������� ������������.

����� ������������ ������ �������:

    
    
    > Browse (e1)
    

�� ����� ����������� ��������������� ������ ASIS, �� ��������� ������� ������������ ����� ��������.

������������ ���������� ��� ������� ASIS, �� ������� �� � ������� ������ ���������, � �� ������� ���� �� ��������� ��������� ������:

  • U
    �� ���� ��� ����� �� ������ ASIS (������������ ������ ������� Enclosing_Element).

  • D
    �� ���� ��� ���� �� ������ ASIS, � ������ ���������� �� �������� ��������.

  • N
    ������� � ������� «������������» (sibling) (� ���������� �������� � ������ �������� ASIS).

  • P
    ������� � ������ «������������» (sibling) (� ����������� �������� � ������ �������� ASIS).

  • (D|d)(T|t)
    ��������� ����� ����������� �������� ��������:

    • ‘D’ — �������� (ON), � ‘d’ — ��������� (OFF) ����������� ������ �������;
    • ‘T’ — �������� (ON), � ‘t’ — ��������� (OFF) ����������� ���������� ������;
  • <SPACE><query>
    �������� ������ <query> ��� �������� �������� (��. 5.4).

  • Q
    ������������� ������� � ����� asistant. �������������� ������������� ������ ������������� � ������������ ������������� ������ asistant � ������� ���������, ������������ ��� ��������� ������ BROWSE.

������������ ���������� �������������� ��������� ������� � ���������� ����� ������� �������. ��� ���� �������� ������ ��������� ��������� «Cannot go in this direction.», ������� �������������, ��� ������������ ������ ASIS � ��������� ����������� �� �������� ���� �� �������� (�� ����, ������� ���� �������� ������������ ��������� � ����������� ���� �� ��������, ��� ������� ���� �������� ������� ����� ��� ������ ����������� ������-���� �������� � ����������� ����� ��� ������ �� ��������, ��� ������� ���� �������� ����� ������� ��������� ���������� ��������� ������ � ����������� ����� �� ��������).

���������� ����������� ��������� � ������� �������� ASIS �� ������������� (��������, � ������������� ��������). ��� ����, ����������� ��������� �������� �� �������, ������� ��������� ���� �������� ���� Element � ���������� ������� Element � �������� ����������.

����� ������������ �������� ������ (<SPACE>), �� ����������� ���� ����� �������. ���� ������ �������� ����������, ������� ������� ���������� ����������� ������ ��������� ������� � ������� ��������� � �������� ���������.


5.5 ������

�����������, ��� �� ����� ������������� ������ ASIS — Demo, � ����� � �������� �������, ��� ��� — demo.adb:

    
    
        procedure Demo is
           function F (I : Integer) return Integer;
    
           function F (I : Integer) return Integer is
           begin
              return (I + 1);
           end F;
    
           N : Integer;
    
        begin
            N := F (3);
        end Demo;
    

����������� �����, ��� ������ ��� ����� ��������� ������ ������� � ������� ��������. ���� ��������������� ������������������ ������ asistant, ������� ��������� ��������� ��������� ����� ������. ����������� asistant ������������ ��� ���������� ����������� ��������:

    
    
    initialize ("")
    
    --  �������� � �������� ���������, ������� �����������
    --  ����� ������� �������� � ������� ��������;
    
    Set (Cont)
    Associate (Cont, "", "")
    Open (Cont)
    
    --  ��������� �� ����� ��������� Context ������ ����������
    --  Compilation_Unit (����) ���������� "Demo";
    Set (CU, Compilation_Unit_Body ("Demo", Cont))
    
    --  ������� ������ ��������� ������ (� ���� ������)
    --  � ��������� �� ��������� � ������ ����� ���������� ������������:
    Set (Unit, Unit_Declaration (CU))
    Set (Stmts, Body_Statements (Unit, False))
    Set (Stmt, Stmts (1))
    Set (Expr, Assignment_Expression (Stmt))
    
    --  ����� ������ ������� � ���������� ������ ���������:
    Print (Expr)
    Print (Element_Image (Expr))
    
    --  ��� ��������� ����� ��� A_Function_Call, ����� �������, �����
    --  ��������� �������� ���������� �������:
    Set (Corr_Caled_Fun, Corresponding_Called_Function (Expr))
    
    --  ����� ������ ������� � ���������� ������
    --  �������� ���������� �������:
    Print (Corr_Caled_Fun)
    Print (Element_Image (Corr_Caled_Fun))
    
    --  �������� ������ asistant:
    Quit
    

6. ������� ���������� ASIS

���������� ‘templates’ ������������ ASIS �������� ��������� �������� ������� ����������� ���, ������� ����� ���� ������������ ��� ������� ��� ���������� ������� ���������� ASIS. �������� ���� ����������� � ���, ��� ���-���� ����� ����� ��������� ���������� ASIS ����� �������� ���������� ����, ������� ������������ ��� ���������� ���������� ������������ ASIS-�������, � ������� ���������������� ����� ���� ��������.

���������� � ������� �������� ASIS, ������� ��������������� ������ ������������� ���� ��������.

����� ����, �������������� ����������, � �������� ���������� ASIS, ���������� � ����� README ����������� ‘templates’.


7. ������� ������� ASIS

���������� ‘tutorial’ ������������ ASIS �������� ����� ������� ������� �������� ASIS, ������� ����� ���� ������� ��� ���������� � ASIS. ����� ������� �������� ASIS �������� �������� ������� �����, ������������ �� ����������� asistant � ������ �������� ���������� ASIS, ������� ������������� ��� ����� ������������ ASIS. ��� ���� ������� ����� ����������������� ����������� �������.

� ��������� ������, ������������ � ������� �������� ���������� ��� ��������� ������ README � ����������� ‘tutorial’ � ��� ������������. � ������� ��� ������������ ����� ���������� � ��� �����������.


8. ��� ��������� ����������� ���������� ASIS

8.1 ����� �������� ��� ������� ������ ������������������ ����������

����� �������� ASIS ����������� �� ����� ��� ������ ������, ASIS ����� ������������� ����� ���������� ���������, � �������� ������ ���������� ASIS. ������������ ����� ��������� (��� ����� ��������) �������������, ��� ASIS ��������� ������������ �������, � ��� ����� ����������� ��������� ������ ���������� ASIS.

� ��������, ���������� ��� ������� ������ ��������:

  1. ��������� ������������ ����������� �������. �����������, ��� � ��������� Cont ���������� ������ P � Q, ������� �� ������� ���� �� �����, � �������� Cont �� �������� ������-���� �������� ������, ������� ������� �� ����� ������� P � Q. ��� �������������, ��� P � Q �� ����� ���� ������������ ����� � ��� �� �������. ��� ��������� ��������� ���������� � ������ P, ASIS ��������� � ������� � ������ p.adt, � ��� ��������� �����-���� ���������� � ������ Q, ASIS ��������� � ������� � ������ q.adt. �������������, ����� ���������� �������� ���������� �� P, � ����� �������� ��������� Q, �� ASIS ������ ��������� ������ q.adt.
  2. ����������� ����������� ������ � ���� �� ������ ����� ��� � ����� ������. �����-���� ������ ����� ���� ����������� �������, ������� ��������������� ������� ��� ���� ������, � �� ����� ����� ���� ����������� ����� ���������, ���������� ��� �������, ������� ������������ �� ���� �������. �����������, ��� � ��� ���� ������������ ��������� Proc, ������� ������� �� ������������� ������ Pack, � � ������ �������� ����������� ��� �������� Context �� ����� ������� pack.adt � proc.adt. �����������, ��� � �������� ������� ASIS � ������ pack.adt �� �������� �����-�� ������� Element, �������������� �����-�� ��������� ������ Pack, � ����� �����������, ��� � �������� �����-���� ������ ��������, ����������� �����������, ASIS ������� ������ �� proc.adt, ������� �������� � ������� ������ �������. ����������� ������, ��� ���������� ���������� ��������� �����-���� �������� � ��������� Element, �������������� �����-�� ��������� ������ Pack, ���������� �� ������ pack.adt. ���� ������ Pack ����������� ��������� � ������� ������ ������� proc.adt, ASIS ������ ������������� ������� � ������ pack.adt, ��������� ��� ������ � ��������� ������, ����������� ��� ����� �������� �������� Element, ��������� ������ ��� ������ pack.adt.

8.2 ������� ������� ����� ������� ����� ��������

� ��������� �����, � ASIS-���-GNAT, ����� �������� ����� ����� ������ ��� ��������� ��������, ������� ������� �:

    
    
        Asis.Elements
        Asis.Declarations
        Asis.Definitions
        Asis.Statements
        Asis.Clauses
        Asis.Expressions
        Asis.Text
    

�� ����������� ��������, ������� ���������� ���������� ������������� ��� ����������� �����. ��� ����� ������������� Asis.Iterator.Traverse_Element, ������������, ���� �� ����, ����� ������� ��� ������� ����������� ������ ������ ��� ��������� ������, ����������� ��� ��������� ������������ �������� Element. ������, ���������, ������� ����������������� ��� ����������� ��������� ��������� (��� Pre_Operation � Post_Operation) ����� ����� ������� �������������� ������ ��������.


8.3 ��� �������� �������� ����� ��������

��� ��������� ������������������ ���������� ASIS, ���������� ��������� �������� ��������� ������ ��������. � ���� ��� ����� ������ ��������� ������������ :

  1. ������� �������� �������������� ����� ������ ��������, �������������� ����������� ASIS. � ���������, ���������� �������� ������� ��������� ��������, ������� ������� ��� ����������� �������.

    ����������� ������ ������ ��������, �������������� ����������� ASIS, ������������ ��������� ����� ������������� �� �������� ���������. ���������� ������������ ������� gnatmake ��� �������� ����������� ������ ������ �������� ���-���������.

  2. ��������� ���������� ������ ����������� ��������� ��� ������ ����������. ��������, ����������� ��������, ������� ����������� ����� ������� (-C1), ��� ����������, ������� ���������� ���������� ��������� ������� (�������� pretty printer ��� gnatstub). ��� ��������� ����� ������, ���������� ��� ������ ������, ASIS �������� �������� ��� �������������� � ������������� ���������� �� ���� ������. ��� ������������� ����������� ���������, ������� ����������� ����� �������, ���������� ������ ����� ��������� ������ ���� ���� ������, � �������� �������� ���������, � �� ����� ������ ���������� �� ����������� ������ ������ ������ ��������. ��������, ����������� �� N ��������, �������� ������������ ����������� ��� ���������, ������������ ����� �������, ��� ����������, ������� � ����������� �������� ����� ������ ����� ��������������. ��� ����, ������, �������� ��������� ����� ����� ����������, � ASIS, � �������� ������ ����������, ����� ������������ ����� ����� ��������� ������ ��������. ����������� ��������, ������� ����������� �� ���� ������ ��������, ������ ��� ��� ����������, ������� �� �������� �� ��������� ������������� ������ (��� ������������� ������ �������), � ������������� ��������� ���� ��������� �������, ��� � ������, ����� ���������� ������ ������������ ������� �������, ��������� �� �������� ���������� �������. ��� ������������� ���������� ����������� �� ���������, ����������� �� ���� ��������, ����������� ��������� ���� ������ �������� ������ ��������, ��� ����������� ������ ������ �������� ��� ���������.
  3. � ����������, ���������� �������� ������������ ����� ��������������� �������� ��� ����������� ������� ��� �������� ����������� — �������� ������������ ����� ������� �������� ������ ��������.
  4. ��� ������� ������-���� ������������� ������, ������� ����� ������������ � ����, ��������� ������-���� �������� ����� ������ ���������� ���������� �� ���� ����� ������. � ���� ������, ������, ������� ������� ��� ���� ������, ����� ��������������� ��� ������ ��������� ��� ASIS, � ��� ������ �������� ���������� ��������� ���� � ������������ ����� ������ ��� ������������� ������ ��������.
  5. ����� ������� «������� ������ ��������» ������ ����������, ������� ��� ������������� ASIS ������������ ���������� ���� -dt (Asis.Implementation.Initialize («-dt»)). ���������� � ���������� ���������� ���������� ���������� ����� ���������� ��� — ��� ����� �������� ������ ��������.

8.4 ������������� gnatmake ��� �������� ������ ������

��� �������� ������������ ������ ������ ��������, ����� ������������ ������� gnatmake. GNAT ������� ����� ALI ��� ������ �������� ����������, ��� ����������� �� ����������� ��������� ���������� ����. �������������, ���������� ����������� ������� ������� gnatmake (� ������� -gnatc � -gnatt) ��� �������� ������ ������ ��������, �������������� ��� ������������� ������, ������� ���������� ������, ��� ���������� �������� ���� �������� gnatmake. ���� �� ����� ������������ gnatmake ��� �������� ������ ������ �������� ����������� ���-��������� (�������). �� ������ ������������ �������� ������ ��� �������� ��������� ��� ��� ������� ��� ������� ������������, �������� gnatmake ��� ��������� (������) �����������.

������������� gnatmake ��� �������� ������ �������� �������� �������������� ������������� — � ���� ������, ����� �������� ����� ����������� ����� ����� � � ������� � ��������� ��������.

���������� ��� ��������� ������� ������������� gnatmake ��� �������� ������ ������ ��������.

������ ������ �������������, ��� �� ���������� ��������� �����, ����� ALI � ����� �������� ����� ��������� � ��� �� ����� ��������, � �����, ��� ���� main_subprogram.adb �������� ���� ������� ������������. ���� �� ��������� gnatmake � ������� �������:

    
    
       gnatmake -f -c ... main_subprogram.adb -cargs -gnatc -gnatt
    

��� �������:

    
    
       gnatmake -f -c -gnatc -gnatt ... main_subprogram.adb
    

�� ��� ������� �������, ������� ������������ ��� ���������, ��� ������� main_subprogram �������� ������� ����������. ��� ������� ����� ������� ������, �� ����, ���� �����-���� ����� �������� ��� ������������, �� ��� ����� ���������� ������. ��� ������� ���, ��� gnatmake ���������� � ��������� ����� -f (force recompilation). ������������� gnatmake, ��� �������� ������ �������� ��� �������� ����� -f, ����� ���� ����� �������� ������������� � ��� �� ��������, ��� � ��������� ����� — �� �������� ��������, ��������� ��������� ����� � ����� �������� «���������» ���� � �� �� ��������� ������ ALI, � � ������, ����� ��������� ���� ���������� � ���������� � ������ ALI � ������ ��������� ������, �������� ����� �� ����� ���������������� ��� �������� ����� ������ ���� ����� -f �� �������.

������ ������ ����������� � ���������� ������ �������� � ��������������� � ���� ������ ALI � ��������� ��������, � ������������� ����� �������� ������ ��� �������� ������ �������� � ������������� �� ��������������� � ������� �������� ������� (�� ����, ��������� ����� � ��������������� �� ����� ALI ���������� � ������ ��������). � ���� ������, ��� ������� gnatmake � ������� �������:

    
    
       gnatmake -c ... main_subprogram.adb -cargs -gnatc -gnatt
    

��� �������:

    
    
       gnatmake -c -gnatc -gnatt ... main_subprogram.adb
    

(�� ����, ��� �������������� ��������������) �� ��������� ������ � ������������� ����� ������ �������� �������������� ���� ���������, �� � ���� ������, ������������ ����� �������� ����� �������������� ��������.

��������� ������ ��������� ������, ������� ���������� ��� ������������� ������� ��� ����������� � ������������������ ���-�����������.


9. ��������� ���-���������� � ������� ������� ���������� �� ASIS

� ������� ����� �����-���� ���-���������, ��������������� ��� ��������� ���������� ����������� �� ASIS, ���������� �����-������ ���-����������, ���������� ������������ � ��������� ��������� ������������� ���-��������� � ������������ GNAT:

  • ���-���������� �������� ���������� ������������������ ���-�����������. �������� ������ ������������� ���������� ���-����������� ��������������� ��� ����� ���� ����������. ������, ���� ��������� ������������ ���������� ��������� ���������� ����������, �� ��� ���������� �� �������� �������������� ��� ������� gnatmake (� ������� ������) ��� ���� ��������� (��������, �� ������� �� ���������������� Ada.Text_IO, ��� ������� gnatmake ��� ����� ���������, ������� ���������� Ada.Text_IO).
  • � ������������ � ������� ���������� GNAT, ������� �������� �� �������� �������, ������������ ����������� ���������� �������������� ����� ������������� ������ ������������, ������� ���������� ��� ����������, ������ ���� ������������ ����������� — �� �������������. ��� ���������, ���� �� ���������� gnatmake ��� �������� ������ ������ �������� ��� ������ ���������, � ���� ��� ��������� ���������� ���-���� �� �����-������ ���-����������, �� ����� ������ ��������, ��������� � ���������� ������� gnatmake, ����� ��������� ������ ������������, �� �� ���� ��� ����������� ����������.
  • ����� ����������� GNAT �������� ���������� ������� ���������� GNAT (GNAT Run-Time Library ��� RTL) ��� ������������������ ���-����������. � ��������� �������, ����������� GNAT ����� ��������� ��������� ������ ���������� (����� ��� «Win32Ada Binding» ��� ������ �������� GNAT ��� Windows95/NT).
  • � ASIS-���-GNAT �� ���������� ��������� ������� �������, ��� ������ ������ ���������� ����������� (��� ���) � �����-���� ������������������ ���-���������� �������� �� GNAT RTL (��������� ��������� ����� ���� ��������� � Asis.Extensions). ASIS-���-GNAT �������������� (������������� ������ Asis.Compilation_Units.Unit_Origin) �����-���� ������: ��� A_Predefined_Unit, ���� �� ����������� RTL � ���� �� ������ � RM95 A(2) ��� ���������������� ������ Ada95; ��� An_Implementation_Unit, ���� �� ����������� RTL � ���� �� �� ������ � RM95 A(2). ���������� ���-���������, �������� �� RTL, ������ ���������������� ��� An_Application_Unit.
  • ���������� ����������� ����������������� ���������� ���-���������, ������� ������������ ������ ����������. ��� ������������� �����, �� ������ ��������� gnatmake ��� ���� ���������, ������ ����� -a. �������������, ���� �� �������� ��� ����� ��������� ����� ������ ��������, �������� gnatmake � ������ -a, ���������� � ���������� ����� ������ �������� ����� ��������� ��� ������, ������� ���������� ���� ��������� ��� ������������ ������������ �������.

����� �������, � ������ ����� ��������� (��� ����� �� ���������) ���-��������� ������ �� ���������������� ���������������� �������, ���������� �� ASIS, ��� ���������������� �������, ���������� �� ASIS, � �� ������������� �������� ��������� ��������:

  1. ����� ��� ������������� ����������������� �������� ��� ������������� � ��������� ����������� ���-���������, ����� ������ �������� ��� ����� �������� ����� ���� ������ � ������� ������� gnatmake ��� �������� ����� -a (��� �������� ������� �������� ������������� gnatmake). ����� ���������������� �������� ������������ Compilation_Which, ��� ������������ ������������ ������-���� ������������� ������, � ��� �������� ������ Asis.Compilation_Units.Is_Body_Required ���������� ��������� True, � ������ Asis.Compilation_Units.Corresponding_Body ���������� ��������� ���� A_Nonexistent_Body, �� ���������������� �������� ����� ������� �����, ��� ���� ������������ ������ ����������� � �����-���� ������������������ ���-����������.
  2. ����� ����������������� ��������� ���������� ������������ ��� ������������� ������ ���, ����������� �����-���� ���������, ����� ������ �������� ��� ���� ��������� ������ ���� ������ � ������� ������� gnatmake � ��������� ����� -a.
  3. ��� ���������� ����������� RTL, ����� ���� ����������� ������ Asis.Compilation_units.Unit_Origin.

10. ����������, ���������� � ���������� ���������� � ASIS-���-GNAT

���� �� �������������� ASIS-���-GNAT ��� ���-���������� � �������� �������, ������� �������� ��� �������� ������, ����� ALI � ������������ ����� � ��������� ���������� ��������� ADA_INCLUDE_PATH � ADA_OBJECTS_PATH (��� �������� ������������� �������� ����������� ASIS-���-GNAT), ��� �� ����������� ��������� ����������� GNAT (�� ����, ��� ������� gcc) � ��������� ������ gnatbind ������� �������������� �����, ����������� ��� ASIS, ��� ������ � ������ ������������ ASIS. ������, ��� ������� ������������ gnatlink, �� ������ ��������������� �������������� �������� «-lasis»:

    
    
       gnatlink my_application -lasis
    

��� ������������� gnatmake, �� ����� ������ ��������������� ���� �������� ������������, ����� ������ gnatmake ������������ ����������� ������ gnatlink:

    
    
       gnatmake ... my_application -largs -lasis
    

�������� ����� ��������� ��� ������������ �� �����, ����� ������ gnatmake �� ������� ����������� ������:

    
    
       gnatmake -c ... my_application
    

���� �� ���������� ASIS-���-GNAT ��� ���������� ���������� library, ��, ��� ������ ��� ����� ������ ���������� ASIS, �� ������ ��������� ���������:

  • ��� ����������, �� ������ ��������� ������� � ��������� �������� ���������� ASIS-���-GNAT (asis-[version#]-src/asis and asis-[version#]-src/gnat) � ���� ������ ������ � ��������� ��������. ��� ����� ��������� � ������� ����� -I, ��� ������� gcc, ��� �������� ������� � ��������� �������� ���������� ASIS-���-GNAT � ���������� ��������� ADA_INCLUDE_PATH.
  • ��� ����������, �� ������ ��������� ������� � ���������� ������� � ������� ALI, ����������� ���������� ASIS-���-GNAT (asis-[version#]-src/obj, ���� �� ��������� ����������� �� ����������� ASIS-���-GNAT, ������� ��������� � ����� README � ASIS Installation Guide) � ���� ������ ������ ��� ��������� ������ gnatbind. ��� ����� ��������� � ������� ����� -aO, ��� ������� gnatbind, ��� �������� ������� � ���������� ������� � ������� ALI � ���������� ��������� ADA_OBJECTS_PATH.

���� �� �������� �������� ������ � ��������� ��������, ���������� ������� � ������� ALI ���������� ASIS-���-GNAT � ��������� ����������� ��� GNAT ���������� ���������, ��� ��� ������������� ��������� �������������� ���������, ������� ���������� ��� ASIS, ��� ������������� ������� gnatmake ��� ����� ���������� ASIS.


11. ��������������� ��������� ASIS-���-GNAT

�������� ASIS ��������� �������� ����� ������ ������������ ���������� ������������ ASIS. ASIS-���-GNAT ������� ���� ��������.

�����, ASIS-���-GNAT ���������� ��������������� ��������� ����� �� ������������� ��������� ��������, ����������� � �������� ��������� �������� ASIS, ��� ������������ ���������, � �������� ASIS, � ���� ������, �� ������� ����������� ����������. ������ ��������� �������� �������� ������ ������������� ����������� ��� ������������� ������� � �������������� ����� ASIS, ������� ������������ �����������, ������ ��� �������������� ������������ ����������� ���������� ��� �������� Initialize, Finalizes � Associate, ��� ��� �������� ��������� ASIS.

� ASIS-���-GNAT ��������� ��� ������ ��������������� ���������:

�� ��������� (default)
��������������� ��������� ������������ �� ����������� ���������� ������ ������ (stderr);
���������� (suppress)
��������������� ��������� �����������;
���������� ��� ������ (treat as error)
��������������� ��������� ����� ������������ ��� ������ ASIS-���-GNAT: ������ ������� ��������� �� ����������� ���������� ������ ������, ASIS-���-GNAT ���������� ���������� Asis_Failed � ����������� ��������������� ��������� � ������ ����������� ASIS (ASIS Diagnosis string). ������ ������ ASIS (ASIS Error Status) ������� �� ������� ���������������� ���������.

����� ��������������� ��������� ASIS-���-GNAT ����� ���� ���������� ��� ������������� ���������� ASIS. �������� «-ws» ������� Asis.Implementation.Initialize ��������� ��������������� ���������, � �������� «-we» — ��������� �� ������������� ���������� ��� ��������������� ��������� ��� ������. ����� ���������, ����� ��������������� ��������� �������� ���������� ��� ���� �������������� ����������, ������ �� ������� ���������� ASIS-���-GNAT.


12. ���������� �� ������������ ������ � ������������ ���� ����������

����� ���������� ASIS, ������� ��������������� � ������� ASIS-���-GNAT, ������� �� ������������ ����������� ASIS �, �����������, �� ������ ����������� ���������� ASIS-���-GNAT. �������������, ������������ ����, ��������� ��� ���� ������������� ������� ����������, � ������ ������ ���������� ���������� ��� �������� ��������� �����, ������� �� ����� ���� ������������ ��� ����� ����������� ����������.

ASIS-���-GNAT �������� ������ ������������ ��������� ASIS ISO/IEC 15291:1999 ASIS Standard.

��������� �������� ������ (��� ������ Asis) ��������� � ASIS-���-GNAT:

  • Asis.Extensions �������� (����� ������ � ��������� �������� ���������� � asis-extensions) — ���������� ��������� �������� ���������� ASIS, �� �������������� ���������� � «ASIS Reference Manual«;

  • Asis.Set_Get (��������������� ����� � ��������� ��������: asis-set_get.ad[bs]) — �������� ������������ ������� � ���������� ��� ���������� ��� ������� ��������� ASIS, ������� ���������� � ������ Asis;

  • Asis.Text.Set_Get (��������������� ����� � ��������� ��������:asis-text-set_get.ad[bs]) — �������� ������������ ������� � ���������� ��� ���������� ��������� ASIS, ������� ���������� � ������ Asis.Text;

��� ��������� ���������� ���������� ASIS-���-GNAT ����������� �������� ������������� ������� � ������ A4G (����������� �� ASIS-for-GNAT) � ����� �����, ������������ � «A4G.«.

����� ����, ASIS-���-GNAT �������� ��������� ���������� GNAT, ��� ����� ���������� ASIS:

    
    
       Alloc
       Atree
       Casing
       Csets
       Debug
       Einfo
       Elists
       Fname
       Gnatvsn
       Hostparm
       Krunch
       Lib
         Lib-List
         Lib-Sort
       Namet
       Nlists
       Opt
       Output
       Repinfo
       Scans
       Sinfo
       Sinput
       Snames
       Stand
       Stringt
       Table
       Tree_In
       Tree_Io
       Types
       Uintp
       Uname
       Urealp
       Widechar
    

����� �������, � ����� ���������� ASIS, �� ������ ������������ ��� ����� ���-����������� ����� �����, �����: ���� ������� ������������ � ASIS ��� ����� ������������ ������� ASIS (Asis.Extensions, Asis.Set_Get, Asis.Text.Set_Get), ����� ���� ��������, ������������� ������� A4G, � ����� ���� ����������� GNAT, ������ ������� ��� ������� ����.

��� ����� � ��������� �������� ���, ����������� ���������� ASIS ��� GNAT (������� ���������� GNAT, ���������� ������ ASIS-���-GNAT) ������� ����������� GNAT �� ������������ ������ ��� �����-���� �������� ���� ������ (file name krunching).

Области применения

— Контроль и сигнализация наличия взрывопожароопасных и токсичных веществ в оборотной воде и пароконденсате

— Анализ нефтепродуктов в оборотных и сточных водах промышленных предприятий

— Контроль попадания взрывопожароопасных газов в оборотную воду и пароконденсат

Принцип измерения

Анализатор представляет собой систему, позволяющую, путем непрерывного барботирования, выносить из воды углеводороды и контролировать их концентрацию при помощи различных типов детекторов: пламенно-ионизационного (ПИД), фото-ионизационного (ФИД), полупроводникового (ППД), термо-каталитического (ТКД), электрохимического (ЭХД) и других типов детекторов в зависимости от типа контролируемых веществ.

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

Газ-носитель, как правило, это воздух КИП, а для особо чистых сред и измерения особо низких концентраций в таких средах, как конденсат водяного пара, целесообразно применить сетевой азот, для исключения влияния примесей, которые содержаться в сжатом воздухе.

На основании калибровочных данных контроллер пересчитывает сигнал детектора в концентрацию и формирует выходной сигнал анализатора.

Конструкция анализатора

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

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

Управление и настройка прибора производится при помощи ЖК экрана, размером 7″, расположенной на двери отсека электроники.

Взрывозащита прибора реализована на основе продувки корпуса избыточным давлением для таких детекторов как ФИД, ТКД и аналогичных применяется продувка типа “Z” см. чертеж анализатора. Система управления продувкой распложена над анализатором. Для ПИД детектора применяется продувка типа “Х” на основе контроллера продувки.

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

В качестве опций возможны следующие дополнительные функции:

– Функция обратной продувки фильтра (автоочистка), что актуально для загрязнённых сред;

– Автоматический отбор пробы на лабораторный анализ (опция);

– Автоматический анализ нескольких потоков (опция);

Специалисты нашей компании готовы рассмотреть варианты модернизации прибора в соответствии с измерительными задачами и требованиями Заказчика.

Технические характеристики

Максимальная температура пробы

до 50 °С (стандартно) до +250 °С (с охладителем)

Расход пробы

от 50 до 500 мл/мин (стандартно 400 мл/мин)

Температура эксплуатации

5 .. 50 °С

Габаритные размеры анализатора

от 600х600х300 мм до 1400х1000х600 мм (ВхШхГ)
(в зависимости от исполнения анализатора, детектора, типа взрывозащиты, установленных опций)

Маркировка взрывозащиты

1Ex px IIC T4 Gb X или 2Ex pz IIC T4 Gc X

Кол-во измеряемых потоков

от 1 до 5 (в зависимости от длины линий, пробы)

Выходные сигналы аналоговые

0/4 — 20 мА

Выходы релейные

типа «сухой контакт» по концентрации и состояниям

Выходные сигналы цифровые

RS232 / RS485, Ethernet TCP/IP, Modbus и т.п.

Питание

220 В, 50 Гц, 300 Вт (до 1000 Вт при прогреве)

Диапазон измерения

ФИД минимально 0-5 мг/л, до 0-1000 мг/л
ПИД минимально 0-1 мг/л, до 500 мг/л
ТКД минимально 0-100 мг/л, до 500 мг/л
ППД минимально 0-10 мг/л, до 1000 мг/л
ЭХД минимально 0-10 мг/л, до 1000 мг/л

Погрешность измерения

зависит от типа измеряемых веществ

Масса

от 25 до 55 кг (в зависимости от исполнения)

Степень защиты оболочки

IP 54 (стандартно), IP 65 (опционально)

Память архива

SSD съёмная 8 Гб

Воздух

не менее 300 кПа (2-5 л/мин, на пуске до 100 л/мин)

Измеряемые вещества и диапазоны измерения

Вещества Минимальный диапазон
Ацетон 0 – 10 мг/м3
Бензол 0 – 10 мг/м3
Бензин 0 – 10 мг/м3
Бутан 0 – 10 мг/м3
Бутадиен-1,3 0 – 10 мг/м3
Водород 0 – 25 мг/м3
Гексан 0 – 10 мг/м3
Гептан 0 – 10 мг/м3
Дизельное топливо 0 – 10 мг/м3
Диэтиловый эфир 0 – 10 мг/м3
Изобутилен 0 – 10 мг/м3
Керосин 0 – 10 мг/м3
Метан 0 – 10 мг/м3
Метилмеркаптан 0 — 10 мг/м3
н-Октан 0 — 10 мг/м3
Пентан 0 — 10 мг/м3
Сероводород 0 — 10 мг/м3
Стирол 0 — 10 мг/м3
Толуол 0 — 10 мг/м3
Этилбензол 0 — 10 мг/м3

* Указаны основные измеряемые вещества, для получения информации по Вашей задаче необходимо заполнить опросный лист.

Руководства пользователя, инструкции и руководства для продуктов ASIS.

Найти

MA1802 WATERTIGHT MARINE — ВСЕЗЕМНОЕ РАДИО AM / FM МУЛЬТИМЕДИЙНАЯ СИСТЕМА BLUETOOTH ОБЩИЕ ХАРАКТЕРИСТИКИ USB-вход (на задней панели) RCA AUX IN (на задней панели) 4-канальный RCA Preamp (Задний) ЖК-дисплей IP66 Водонепроницаемое покрытие для защиты от воды и солей PCB Покрытие Литой алюминиевый корпус Громкое сопротивление: 4-8 Ом, 112 мм, круглая поверхность (манометрический) 72 мм Монтажная глубина 90 мм вырез 45 Вт x 4 канала Макс. Выходная мощность…

Подробнее «ASIS MA1802 ALL TERRAIN AM FM RADIO BLUETOOTH MULTIMEDIA SYSTEM Руководство пользователя»

Понравилась статья? Поделить с друзьями:

А вот и еще наши интересные статьи:

  • Смоки айс коричневыми тенями пошаговая инструкция
  • Руководство нии гриппа
  • Офломелид мазь инструкция по применению цена отзывы аналоги цена аналоги
  • Руководство пользователя навигационной системы acura mdx
  • Tefal universalis 1000 инструкция по применению

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии