DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: B T

⟦97f688873⟧ TextFile

    Length: 4770 (0x12a2)
    Types: TextFile
    Names: »B«

Derivation

└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
    └─⟦5cb1d1d7f⟧ »DATA« 
        └─⟦3b1ee7bd8⟧ 
            └─⟦this⟧ 

TextFile

with Database_Interface, Attribute_Options;
use Database_Interface, Attribute_Options;
separate (Inquiry_Operations)

--  This subprogram puts it all together.
--  Using the currently selected Attribute Options, it
--    queries the Database to describe the Test Unit(s) requested,
--    and prints out the relevant Statistics from the currently
--    selected Files.
--  It can be used to output the Report either to the Screen or
--    to a named File.

procedure Put_Attributes (Name : in Unit_Name_Type;
                          File : in File_Type := Current_Output) is
    E_And_V_List : Schema.E_And_V_Criteria_List;
    Feature_List : Schema.Language_Features_List;
    Align : constant := 25;
begin
    New_Line (File);
    -- Tests each Option
    if Attribute_Options.Is_Set (Test_Name) then
        Put (File, " Test Name: ");
        Set_Col (File, Align);
        Put_Line (File, Name);
    end if;

    if Attribute_Options.Is_Set (Description) then
        Put (File, " Description: ");
        Set_Col (File, Align);
        Put_Line (File, Get_Description (Name));
    end if;

    if Attribute_Options.Is_Set (Version) then
        Put (File, " Version: ");
        Set_Col (File, Align);
        Put_Line (File, Schema.Version_Type'Image (Get_Version (Name)));
    end if;

    if Attribute_Options.Is_Set (Architecture) then
        Put (File, " Architecture Category: ");
        Set_Col (File, Align);
        Put_Line (File, Schema.Architecture_Category_Type'Image
                           (Get_Arch_Category (Name)));
    end if;

    if Attribute_Options.Is_Set (E_And_V) then
        Put (File, " E and V Criteria: ");
        Set_Col (File, Align);
        E_And_V_List := Database_Interface.Get_E_And_V_Categories (Name);
        if Attribute_Options.Is_Set (Short) then
            -- a List_Type iterator: abbreviations
            Schema.First (E_And_V_List);
            while not Schema.Null_Node (E_And_V_List) loop
                Put (File, Schema.E_And_V_Criterion_Abbreviation_Type'Image
                              (Schema.Current_Element (E_And_V_List)));
                Put (File, " ");
                exit when Schema.Tail_Node (E_And_V_List);
                Schema.Next (E_And_V_List);
            end loop;
            New_Line (File);
        else
            -- a List_Type iterator: long form
            Schema.First (E_And_V_List);
            while not Schema.Null_Node (E_And_V_List) loop
                Set_Col (File, Align);
                Put (File, Schema.Expand
                              (Schema.Current_Element (E_And_V_List)));
                New_Line (File);
                exit when Schema.Tail_Node (E_And_V_List);
                Schema.Next (E_And_V_List);
            end loop;
        end if;
    end if;

    if Attribute_Options.Is_Set (Language_Feature) then
        Put (File, " Language Feature(s): ");
        Set_Col (File, Align);
        Feature_List := Database_Interface.Get_Features (Name);
        if Attribute_Options.Is_Set (Short) then
            -- a List_Type iterator: abbreviations
            Schema.First (Feature_List);
            while not Schema.Null_Node (Feature_List) loop
                Put (File, Schema.Language_Feature_Abbreviation_Type'Image
                              (Schema.Current_Element (Feature_List)));
                Put (File, " ");
                exit when Schema.Tail_Node (Feature_List);
                Schema.Next (Feature_List);
            end loop;
            New_Line (File);
        else
            -- a List_Type iterator: long form
            Schema.First (Feature_List);
            while not Schema.Null_Node (Feature_List) loop
                Set_Col (File, Align);
                Put (File, Schema.Expand
                              (Schema.Current_Element (Feature_List)));
                New_Line (File);
                exit when Schema.Tail_Node (Feature_List);
                Schema.Next (Feature_List);
            end loop;
        end if;
    end if;

    if Attribute_Options.Is_Set (Statistics) then
        if not Attribute_Options.Is_Set (Short) then
            Put (File, " Statistics: ");
            Set_Col (File, Align);
            Put_Line (File, Schema.Statistics_Type'Image
                               (Get_Statistics (Name)));
        end if;
        Put_Files (Name, Current_Files, File);
        New_Line (File);
    end if;

exception
    when Not_Found =>
        New_Line (Standard_Output);
        Put (Standard_Output, "*** Sorry, ");
        Put (Standard_Output, Name);
        Put_Line (Standard_Output, " does not have a Database entry.");
        New_Line (Standard_Output);
end Put_Attributes;
--*****************************************************************************