-
Утвержден
ГТЯН.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 ������ ������������ ��������� ������������������ �������:
-
Asis.Implementation.Initialize (…);
���� ����� �������������� ���������� ��������� ������ ���������� ASIS � �������������� ���������� ASIS � ������. ��� ����������� �������� ASIS, ��������� � ��� �� ������ ������������� ���������� ASIS ����� ��������.
-
Asis.Ada_Environments.Associate (…);
����� ������ ������������� ����������� �������� ���������� ��������������� ���������� ���� ASIS Context. ����� �������� �������� ��������� ��������� ����������� ��������� (Context) ASIS � «������� �����». ������ �������� ����� ���������� � ����� ��������������� ���������� ������� Associate ������������ �����������, ������, ����� ������������� ����� ���������� � �������� ���������� ���������, �������� ASIS, ������������ ���� ����������, ����� ��������������� ��� ��������� ������� ���������� ASIS (ASIS Compilation Units) ��������� ��� �������� ASIS.
-
Asis.Ada_Environments.Open (…);
�������� ���������� ��������� ASIS ������� ��������������� �������� Context, ������� �������� ��� ���� �������� ASIS.
����� �������� ���������, ���������� ASIS ����� ���������� ��������� �� ����� ��������� ������� ���������� ASIS (ASIS Compilation Units), � ������������ ���������� ������ ����� ������������ ���� ������� � �������� (Elements) ASIS � �.�.
ASIS ���������� �� ���������� ���������, ������� �������� «������������» ���� �������� Context �������� ��������. �����-���� ���������, � ������� ��-ASIS-��������, �������� ������ ������������ ����������� ASIS ��� �������� � ���������� ����� ���������, � �� ����� ����� �������� Context ������, �������� � ������.
-
Asis.Ada_Environments.Close (…);
����� �������� ��������� ���������� ����������� ��������� �� ���� �����-���� ����������. ��� �������� �������� ASIS, ������������� � ����� Compilation_Unit, Element � Line, � ���������� ����� ���� �������� Context ��� ������, ���������� �����������, � �� ������������� ����� �������� ��������� ����� �������� � ������. �������� �������� ��� ��������� Context �� ������ ���������� «������������», ����� �������� Context �������� ��������. ������� ��������, ��� �������� �������� Context ��������� ���� ���������� � «������� �����» � �� ����� ���� ������ �����, ��������� �� �� ����� ����������. ����� ������� ��������, ��� ���������� (�� ����, ��������������� ��������� ������� ���������� ASIS (ASIS Compilation Units)) ��������� Context ����� ���������� �� �����������, ��������� «������� ���» ��� ���������� ���� �������� Context ��������� ��������.
-
Asis.Ada_Environments.Dissociate (…);
���� ������ ��������� ���������� ����� ��������������� ���������� ASIS � «������� �����», ����� ���� ��������������� ���������� ��������� ���������� ��������������.
-
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.Expressions � ASIS.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:
- ����������� ������� ����� ������� ASIS, ������� ���������� � ������ 3.2 �������� ������� ASIS, ����� ���������� ������ ������� ������ ������� ASIS (��������, ���� ��� ����������, ��� ����� ���� ��������� � �������� ���������� Compilation_Units — ������� ���������� ������ ������ ������� Asis.Compilation_Units, ���� �� ����� �������, ������� ����� ���� ������������ ��� ������������ � ������� ����������� (declarations), ���������� ���� ������ ������� Asis.Declarations).
- ������ ������� ASIS, ������������ ���� (Asis.Declarations, Asis.Definitions, Asis.Statements, Asis.Expressions � ASIS.Clauses) �������� ��������� ASIS ����������� � ������������ � �������� �������� ��������������� ����������� � RM 95 (��������, ����� Asis.Statements ���������� � ������� ��������� �����, � ������������� �������� ������������ ����������).
- ����� ���� ������������� �������� ���������� � Corresponding_… ��� Implicit_….
- ����������� ��������������� ����������� (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, ��� �������� ��������� ������. �������������, ������������� ��������� ������ �������� � ��������� ������ — ����������.
������� ������� ��������� ������ �������� ��� ��������� � ������ � ������� ��������:
- ASIS-���-GNAT ������������ ��� ���������� ������ ����������� GNAT. ��� �������, ������� ����� �������������� ����������� ASIS, ������ �������������� ���� ������� �����������.
- ��� �������� ����� ������ ��� ASIS, ����������� ���������� �������� ����� -gnatc � -gnatt. �� ������� ������������� �� � ��������� ����� -gnatct ��� -gnattc, ��������� ��� �������� � ��������� ���������� ���������� �����.
- ���� � �������� ���������� ���� ���������� ������, �� ���� ������ �� ����� ������.
- � ������� �� ��������� ������, ���� ������ ����� ���� ������������ ��� ������ ����������� �������������� ������ ���, ������� �������� ������������ �������, ������� ������� ������� ��� � ����������� �������.
- ����� ������ ��������, �������������� ASIS (��� ����������� ASIS) ����� ���� ���������������. ��������, ��� ����� �������� ����� ���� ������� ��� ������������� ������ ������ ��������� ������ ������ � ���� �� ������. ��� �������� � ������������������ � ��������������� ��������� ASIS. �� ����� ���������� ���������� ������� ���������� � ������ 4.4 �������� ���������������.
- �� ����������� �������������� ����� ��������, ��������� ����� � ����� � ��������� �������� �� ��������� ������������ �������� �������! ��� ������ «��������» ASIS, � �� ����� ���������� ����������������� ����� ������� �������� � ������� � ��������� ��������, ��� �������� ���������, ��� �� ������ �������� ������ ��������� ��� ������� ����� � ��������� �������� ��� ���������� ����� ��� ���������� ������ ���������� ASIS.
- ��� ������� gcc ��� gnatmake, ��� �������� ������ ��������, ��� ����� ������ � ���������, ������� �������� ���������� �� ������������� �����, ������ ���������� � «./» ��� «../» («.» � «..» �������������� � Windows NT/95). ����� �������, ��� �������� ����� ������ ��� ����� � �������� ������� foo.adb, ������� ���������� �� ��������� �������� � ������ «inner», ���������� ��������� gcc � ������� �������:
>gcc -c -gnatc -gnatt .innerfoo.adb�� �� �������:
>gcc -c -gnatc -gnatt innerfoo.ads����� ASIS «����������».
- ��� ������ ����� ������, ASIS ���������, ��� ���� ���� ������ � ��������� ����� -gnatc, � �� �� ����� ������������ �������, ������� ������� ��� �������� ����� -gnatc.
- ����� �������� � ����� ALI. ��� ������� ��� ���������� ������, GNAT �� ��������� ���� ALI ����� ���� ALI, ��� �������������� ������, ��� ���������� � ���� ���� ���� ALI �����������. ����� ����, GNAT, ��� ��������� ����� ������, ����� ������������ ��������� ���������� �� ������������� ����� ALI. ����� �������, ���� ��� ���������� ������������� ������� ��� ����� ��������� ��������� ������ � ������ ��������, ���������� ������� ������� ��������� �����, � ����� — ����� ��������.
- ��� ������ �������� ���������� ������ ���� ���������� ����� ����� — .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
- ������ ������ �������� �������� ���������, ������� �������� �� �������. ������� �������� �������������� ����� �������������� ����������� ������ �������� � ��������� �������� �������� ������� ��������. (��. ����� 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.
� ��������, ���������� ��� ������� ������ ��������:
- ��������� ������������ ����������� �������. �����������, ��� � ��������� Cont ���������� ������ P � Q, ������� �� ������� ���� �� �����, � �������� Cont �� �������� ������-���� �������� ������, ������� ������� �� ����� ������� P � Q. ��� �������������, ��� P � Q �� ����� ���� ������������ ����� � ��� �� �������. ��� ��������� ��������� ���������� � ������ P, ASIS ��������� � ������� � ������ p.adt, � ��� ��������� �����-���� ���������� � ������ Q, ASIS ��������� � ������� � ������ q.adt. �������������, ����� ���������� �������� ���������� �� P, � ����� �������� ��������� Q, �� ASIS ������ ��������� ������ q.adt.
- ����������� ����������� ������ � ���� �� ������ ����� ��� � ����� ������. �����-���� ������ ����� ���� ����������� �������, ������� ��������������� ������� ��� ���� ������, � �� ����� ����� ���� ����������� ����� ���������, ���������� ��� �������, ������� ������������ �� ���� �������. �����������, ��� � ��� ���� ������������ ��������� 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, ���������� ��������� �������� ��������� ������ ��������. � ���� ��� ����� ������ ��������� ������������ :
- ������� �������� �������������� ����� ������ ��������, �������������� ����������� ASIS. � ���������, ���������� �������� ������� ��������� ��������, ������� ������� ��� ����������� �������.
����������� ������ ������ ��������, �������������� ����������� ASIS, ������������ ��������� ����� ������������� �� �������� ���������. ���������� ������������ ������� gnatmake ��� �������� ����������� ������ ������ �������� ���-���������.
- ��������� ���������� ������ ����������� ��������� ��� ������ ����������. ��������, ����������� ��������, ������� ����������� ����� ������� (-C1), ��� ����������, ������� ���������� ���������� ��������� ������� (�������� pretty printer ��� gnatstub). ��� ��������� ����� ������, ���������� ��� ������ ������, ASIS �������� �������� ��� �������������� � ������������� ���������� �� ���� ������. ��� ������������� ����������� ���������, ������� ����������� ����� �������, ���������� ������ ����� ��������� ������ ���� ���� ������, � �������� �������� ���������, � �� ����� ������ ���������� �� ����������� ������ ������ ������ ��������. ��������, ����������� �� N ��������, �������� ������������ ����������� ��� ���������, ������������ ����� �������, ��� ����������, ������� � ����������� �������� ����� ������ ����� ��������������. ��� ����, ������, �������� ��������� ����� ����� ����������, � ASIS, � �������� ������ ����������, ����� ������������ ����� ����� ��������� ������ ��������. ����������� ��������, ������� ����������� �� ���� ������ ��������, ������ ��� ��� ����������, ������� �� �������� �� ��������� ������������� ������ (��� ������������� ������ �������), � ������������� ��������� ���� ��������� �������, ��� � ������, ����� ���������� ������ ������������ ������� �������, ��������� �� �������� ���������� �������. ��� ������������� ���������� ����������� �� ���������, ����������� �� ���� ��������, ����������� ��������� ���� ������ �������� ������ ��������, ��� ����������� ������ ������ �������� ��� ���������.
- � ����������, ���������� �������� ������������ ����� ��������������� �������� ��� ����������� ������� ��� �������� ����������� — �������� ������������ ����� ������� �������� ������ ��������.
- ��� ������� ������-���� ������������� ������, ������� ����� ������������ � ����, ��������� ������-���� �������� ����� ������ ���������� ���������� �� ���� ����� ������. � ���� ������, ������, ������� ������� ��� ���� ������, ����� ��������������� ��� ������ ��������� ��� ASIS, � ��� ������ �������� ���������� ��������� ���� � ������������ ����� ������ ��� ������������� ������ ��������.
- ����� ������� «������� ������ ��������» ������ ����������, ������� ��� ������������� 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, � �� ������������� �������� ��������� ��������:
- ����� ��� ������������� ����������������� �������� ��� ������������� � ��������� ����������� ���-���������, ����� ������ �������� ��� ����� �������� ����� ���� ������ � ������� ������� gnatmake ��� �������� ����� -a (��� �������� ������� �������� ������������� gnatmake). ����� ���������������� �������� ������������ Compilation_Which, ��� ������������ ������������ ������-���� ������������� ������, � ��� �������� ������ Asis.Compilation_Units.Is_Body_Required ���������� ��������� True, � ������ Asis.Compilation_Units.Corresponding_Body ���������� ��������� ���� A_Nonexistent_Body, �� ���������������� �������� ����� ������� �����, ��� ���� ������������ ������ ����������� � �����-���� ������������������ ���-����������.
- ����� ����������������� ��������� ���������� ������������ ��� ������������� ������ ���, ����������� �����-���� ���������, ����� ������ �������� ��� ���� ��������� ������ ���� ������ � ������� ������� gnatmake � ��������� ����� -a.
- ��� ���������� ����������� 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 Руководство пользователя»



