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

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

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

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


����������

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

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

    1. ��������

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

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

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

    3. ����� ASIS

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

    4. �������� ASIS

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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


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

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

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

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

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

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


1. ��������

1.1 ��� ����� ASIS?

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

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

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


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

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

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

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


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

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


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

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


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

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

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

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

  1. Asis.Implementation.Initialize (…);

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

  2. Asis.Ada_Environments.Associate (…);

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

  3. Asis.Ada_Environments.Open (…);

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

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

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

  4. Asis.Ada_Environments.Close (…);

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

  5. Asis.Ada_Environments.Dissociate (…);

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

  6. Asis.Implementation.Finalize (…);

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

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

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


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

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

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

    
    
    gnatmake example1[.adb] -largs -lasis
    

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


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

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

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

    
    
    gcc -c -gnatc -gnatt example1.adb
    

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

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


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

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

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

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


3. ����� ASIS

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

    
    
        X := A + B;
    

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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


3.6 ASIS-��������

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

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

    
    
        X := F (Y);
    

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

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

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


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

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

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

4. �������� ASIS

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

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

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

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

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


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

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

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

    
    
        gcc -c -gnatc -gnatt foo.adb
    

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

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

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

      
      
           >gcc -c -gnatc -gnatt .\inner\foo.adb
      

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

      
      
           >gcc -c -gnatc -gnatt inner\foo.ads
      

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

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

      
      
           >gcc -c -gnatc -gnatt foo.adb
      

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

      
      
           >gcc -c -gnatc -gnatt foo.ads
      

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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


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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

5.2 ������� asistant

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

    
    
    > set (e0, Browse (e1))
    

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

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

    
    
    > Browse (e1)
    

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

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

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

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

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

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

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

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

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

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

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

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


5.5 ������

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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

��� �������:

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

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

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

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

��� �������:

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

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

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


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

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

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

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

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

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

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

    
    
       gnatlink my_application -lasis
    

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

    
    
       gnatmake ... my_application -largs -lasis
    

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

    
    
       gnatmake -c ... my_application
    

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

Возможности

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

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

Возможности

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

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

Возможности

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

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

Возможности

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

Схема функционирования автоматизированной системы представлена на рис.4.1.

Описание программы

Описание интерфейса.

После запуска файла postavki.exe на исполнение на мониторе появляется главное меню (рис 4.1):

Рис 4.1 Главное меню АСИС

Для начала работы с программой необходимо соединиться с базой данных, для чего щелкнуть по команде меню соединится с БД. Если на компьютере пользователя установлен InterBase Local Server и создана база данных, то появится запрос на подтверждение права доступа к БД (рис 4.2):

Рис 4.2 Окно ввода пароля

Пароль доступа Khai. В случае, если соединение прошло успешно, то пользователь допускается к работе с АСИС.

Работа с режимами АСИС

Рабочее окно АСИС выглядит следующим образом (рис 4.3):

Рис 4.3 Рабочая область АСИС

Ниже описана работа с АСИС.

Работа с договорами

Работа с договорами включает в себя:

— Работа с поставщиками;

— Работа с договорами;

— Работа с товарами;

— Работа с заключенными договорами;

— Работа с ассортиментом договоров;

Договор заключается предприятием-заказчиком с предприятием-поставщиком на поставку определенного вида и ассортимента продукции. С одним поставщиком может быть заключено несколько договоров. В качестве атрибутов договора являются следующие поля: номер договора, код поставщика, дата договора, сумма договора, срок действия договора. Все атрибуты, кроме срока действия договора являются обязательными для заполнения. На основании договора производится дальнейшая деятельность по поставкам на предприятии. Она заключается в:

— Работа с заявками;

— Работа со счетами;

— Работа с заказами.

Для автоматизации использования АСИС “Учет поставок” реализована возможность печати бланков документов договора, заявки, заказа.

Добавление нового договора осуществляется путем выбора соответствующей закладки и вводе текста в поля-атрибуты таблицы. Добавление при условии, что для добавляемого договора известен поставщик.

Редактирование происходит при нажатии клавиши Enter на выбранной записи. Происходит автоматическое изменение всех полей других таблиц связанных с номером редактируемого договора. Это изменение необходимо для поддержания ссылочной целостности в БД.

Для удаления определенного договора необходимо два раза щелкнуть правой кнопкой мыши на удаляемом договоре. Автоматически удалятся все записи связанные с удаляемым договором (заявки, счета-фактуры, заказы).

Работа с поставщиками

Работа с поставщиками состоит в добавлении нового поставщика, его атрибутов, удалении поставщика, редактировании атрибутов поставщика: код поставщика (для каждого поставщика код уникален), наименование поставщика, адрес и телефон поставщика. Все атрибуты, кроме телефона являются обязательными для заполнения, в случае их незаполнения возникает ошибка.

Добавление поставщика производится следующим образом: пользователь выбирает соответствующую таблицу и заполняет атрибуты поставщика.

Для редактирования таблицы “поставщики” нужно выбрать запись для редактирования , нажать клавишу Enter и изменить необходимую информацию. Измененные атрибуты поставщика автоматически изменяются в других таблицах.

Удаление записи “поставщик” происходит путем двойного щелчка мышью на удаляемой записи. При этом требуется запрос на подтверждение удаления записи.

Работа с товарами

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

Добавление новой записи в таблицу осуществляется путем ввода информации о товаре в строки таблицы товары. Редактирование — нажатием клавиши Enter на редактируемой строке и изменении информации.

Удаление — двойным щелчком мыши на удаляемой строке.

Работа с заключенными договорами

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

Работа с ассортиментом договоров

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

Работа с заявками

Работа с заявками представляет собой работу с тремя закладками:

— Заявка;

— Ассортимент заявки;

— Все заявки.

Закладка “заявка” содержит таблицу с данными о заявках, которые сделал заказчик поставщику по одному из заключенных договоров. Таблица заявка содержит атрибуты: номер заявки, номер договора, дата заявки. Заполнение всех атрибутов является обязательным. Номер договора один из заключенных, в противном случае возникает ошибка.

Пользователь имеет возможность добавлять, редактировать и удалять записи.

Добавить запись можно в случае когда таблица активна, т.е. пользователь осуществляет работу с ней. Таблица автоматически переводится в режим добавления записей при нажатии пользователем клавиши на пустой строке, либо нажатием клавиши Insert. Для редактирования необходимо выбрать запись для редактирования и, нажав клавишу Enter произвести редактирование необходимого поля записи. Удаление происходит путем двойного щелчка мышью на выбранной для удаления записи.

Закладка “ассортимент товаров” содержит таблицу с данными о сделанной заявке, а именно: номер заявки, номер товара, количество заказанной продукции в принятых единицах измерения (шт., кг., л., и т.п.). все атрибуты являются обязательными к заполнению. Кроме того, номер товара (код товара) может быть выбран только из номеров товара, которые указаны в справочнике товаров.

Удаление, добавление и редактирование записей происходит аналогично закладке заявка.

Работа со счетами

Для работа со счетами предлагается закладка “счет-фактура”, которая содержит таблицу счета и поле для определения оптимального счета. Таблица “счета” включает атрибуты: номер счета, номер заявки, номер договора, сумма счета. Все атрибуты обязательны для заполнения. Ассортимент счета соответствует ассортименту заявки. На закладку выводится информация (либо предоставляется для ввода) только по одному из заключенных договоров, номер которого выбран в таблице ассортимент договоров.

Работа с заказами

Для работы с заказами предлагается две закладки:

— Заказ;

— Все заказы.

В закладку “заказ” включены таблица “заказ” с атрибутами: номер

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

В случае если долг по оплате поставок отсутствует, то поле “долг” принимает значение “нет”.

Закладка “все заказы” представляет собой таблицу с перечнем всех заказов сделанных по всем заключенным договорам. Что-либо в ней изменять пользователь не имеет возможности.

Печать.

Закладка “печать” используется для печати бланков договоров, заявок, заказов. Для выбора документа, который необходимо напечатать следует выбрать соответствующий флажок.

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

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

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

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

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

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

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

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

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

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

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

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

Управление и настройка прибора производится при помощи ЖК экрана, размером 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

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


Утвержден

ГТЯН.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 месяцев с учетом гарантийного срока хранения.

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




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

Дата поступ-

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


Дата

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


Вид ремонта

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

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

Принявшего

ремонт

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

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

А вот и еще интересные новости по теме:

  • Руководство нии гриппа
  • Сборка шкафа купе фортуна видео инструкция по сборке
  • Как заплатить жкх через втб онлайн пошаговая инструкция
  • Препарат небиволол показания к применению инструкция
  • Connect street усилитель интернет сигнала инструкция по применению

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

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