DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦0da1b3872⟧ Ada Source

    Length: 8192 (0x2000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Program_Library_Maintenance, seg_012b40

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



package Program_Library_Maintenance is

    procedure Verify (Worlds   : String := "<IMAGE>$$";
                      Options  : String := "";
                      Response : String := "<PROFILE>");

    function Verify (Worlds   : String := "<IMAGE>$$";
                     Options  : String := "";
                     Response : String := "<QUIET>") return Boolean;

    -- Check the consistency of the program libraries for the given
    -- set of worlds.  Each library is checked for internal consistency
    -- as well as for consistency with the Ada units in the world.
    -- (There are no valid Options at present, reserved for the future.)


    procedure Check_Code_Segment_Reference_Counts
                 (Worlds : String := "!??'C(WORLD)'T(R1000)";
                  Increase_Reference_Counts_That_Are_Too_Small :
                     Boolean := False;
                  Decrease_Reference_Counts_That_Are_Too_Large :
                     Boolean := False;
                  Options : String := "";
                  Response : String := "<PROFILE>");

    -- Check, and optionally correct, the reference counts of the R1000
    -- code segments referenced in the given set of worlds. Note that if a
    -- code segment is referenced from within the given set of worlds
    -- and also from outside the given set of worlds, then an
    -- incorrect error message complaining the the reference count
    -- is too large will be generated. Thus, it is safest to run this
    -- procedure over all R1000 worlds at once.
    -- (There are no valid Options at present, reserved for the future.)


    procedure Find_Unreferenced_Code_Segments
                 (Destroy_Unreferenced_Code_Segments : Boolean := False;
                  Options : String := "";
                  Response : String := "<PROFILE>");

    -- Exmaines all of the R1000 code segments on the machine and lists
    -- those that are not referenced by any program library.  Note that
    -- there is always a small pool of such code segments that are used
    -- for commands.
    -- (There are no valid Options at present, reserved for the future.)

    procedure Display_Referencers (R1000_Code_Segment_Name : Natural;
                                   Worlds : String := "$$";
                                   Options : String := "";
                                   Response : String := "<PROFILE>");

    -- Given the name of an R1000 code segment and a set of worlds (any or
    -- all of which may be code views or contain loaded main programs),
    -- displays the set of units in the given world which reference the
    -- given code segment. This set of units can include "units" within
    -- code views (which do not exist as Ada objects), loaded main programs,
    -- Delta1 code databases, and ordinary Ada units.
    -- (There are no valid Options at present, reserved for the future.)


    function Ada_Object_Instance_Name
                (R1000_Code_Segment_Name : Natural) return Natural;

    -- Given the name of an R1000 code segment, returns the instance
    -- component of the object_id of the corresponding Ada object.
    -- If a code view or a loaded main program is copied from one machine
    -- to another, this can be useful in mapping a code segment address
    -- on the second machine back to the corresponding Ada source location
    -- on the first machine.


    procedure Build (Worlds : String := "<SELECTION>";
                     Atomic : Boolean := False;
                     Preserve_Unreconstructable_Libraries : Boolean := True;
                     Options : String := "";
                     Response : String := "<PROFILE>");

    -- Build or rebuild the program library for one or more worlds.
    --
    --     Worlds -
    --         The set of worlds for which program libraries are to be built.
    --
    --     Atomic -
    --         Specifies whether all program libraries are to built on a
    --         single action, so that either the entire operation will
    --         succeed for every world or it will have no effect.
    --
    --     Preserve_Unreconstructable_Libraries -
    --         If the program library for a code view or a world containing
    --         a loaded main program is rebuilt, then the code associated
    --         with the code view or loaded main program will be lost
    --         unless the Delta1_Code_View_Compatibility switch was set
    --         when the code view or loaded main program was created.
    --         The BUILD procedure will skip over such worlds unless
    --         the PRESERVE_UNRECONSTRUCTABLE_LIBRARIES is set to FALSE.
    --
    -- (There are no valid Options at present, reserved for the future.)


    procedure Show_Dependent_Main_Programs (Code_Views : String := "<IMAGE>$$";
                                            Options    : String := "";
                                            Response   : String := "<PROFILE>");

    -- (There are no valid Options at present, reserved for the future.)

    function Dependent_Main_Programs
                (Code_Views : String := "<IMAGE>$$";
                 Options    : String := "";
                 Response   : String := "<QUIET>") return String;

    -- Given a code view, determine the set of coded main programs that
    -- would have to be demoted to installed before the given code view
    -- could be destroyed (in other words, the set of coded main programs
    -- whose closure includes units out of the given code view).
    -- (There are no valid Options at present, reserved for the future.)


    procedure Destroy_Delta1_Code_Databases
                 (Code_Views_Or_Loaded_Main_Programs : String := "<IMAGE>";
                  Options : String := "";
                  Response : String := "<PROFILE>");

    -- Destroy the Delta1 code database associated with a code view or
    -- with a loaded main program.  This will not affect the ability to
    -- use the code view or loaded main program on a Delta2 machine,
    -- but it will make it impossible to move the code to any Delta1
    -- machines (using Archive.Copy or Archive.Save/Restore).  Code
    -- views and loaded main programs will require considerably less
    -- space if the Delta1 code databases are destroyed.
    -- (There are no valid Options at present, reserved for the future.)


    procedure Edit (For_World : String := "<IMAGE>$$");

    -- Display the contents of the program library for a given world.
    -- May be used to display the units in a code view; but this editor
    -- is mainly designed to be used as a debugging tool.

end Program_Library_Maintenance;

E3 Meta Data

    nblk1=7
    nid=0
    hdr6=e
        [0x00] rec0=17 rec1=00 rec2=01 rec3=04a
        [0x01] rec0=14 rec1=00 rec2=02 rec3=06a
        [0x02] rec0=13 rec1=00 rec2=03 rec3=048
        [0x03] rec0=17 rec1=00 rec2=04 rec3=03c
        [0x04] rec0=12 rec1=00 rec2=05 rec3=00e
        [0x05] rec0=15 rec1=00 rec2=06 rec3=066
        [0x06] rec0=11 rec1=00 rec2=07 rec3=000
    tail 0x2170e648482b14dd2020c 0x42a00088462063203