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

⟦eae01ba32⟧ Ada Source

    Length: 12288 (0x3000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Compilation, pragma Module_Name 4 3936, pragma Subsystem Commands, seg_001b60

Derivation

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

E3 Source Code



with Action;
package Compilation is

    subtype Name      is String;
    subtype Unit_Name is String;

    -- All names are resolved in the established naming context for the job.

    -- A parameter of type Unit_Name may designate a set of Ada units,
    -- Worlds, Directories, or Activities. If a world or directory is
    -- designated, all Ada units contained by that world or directory are
    -- operated on.  If an activity is given, all Ada units in the views
    -- specified by the Activity are operated on.

    type Unit_State is (Archived, Source, Installed, Coded);

    subtype Change_Limit is String;

    -- Parameters of type Change_Limit control which units an operation is
    -- allowed to change in order to perform its task.  Three special values
    -- are predefined:

    Same_Directories  : constant Change_Limit := "<DIRECTORIES>";
    Current_Directory : constant Change_Limit := Same_Directories;

    -- Only units in the same directories as the units specified to the
    -- operation are allowed to change.

    Same_Worlds : constant Change_Limit := "<WORLDS>";
    Same_World  : constant Change_Limit := Same_Worlds;

    -- Only units in the same worlds as the units specified to the operation
    -- are allowed to change.

    All_Worlds : constant Change_Limit := "<ALL_WORLDS>";

    -- A unit in any world may be changed.

    -- A Change_Limit parameter may also be a string name that designates a
    -- set of worlds, directories or activities.  Only units in the
    -- designated worlds or directories are allowed to change.  The set of
    -- worlds designated by an activity is the set of views referenced by
    -- that activity.


    procedure Demote (Unit        : Unit_Name    := "<SELECTION>";
                      Goal        : Unit_State   := Compilation.Source;
                      Limit       : Change_Limit := "<WORLDS>";
                      Effort_Only : Boolean      := Fale;
                      Response    : String       := "<PROFILE>");

    -- All units that must be demoted in order to demote the specified
    -- unit will be demoted if possible. Any messages are appended to the
    -- log file.


    procedure Parse (File_Name      : Name    := "<REGION>";
                     Directory      : Name    := "$";
                     List           : Boolean := False;
                     Source_Options : String  := "";
                     Response       : String  := "<PROFILE>");

    -- The named file must contain Ada source for a compilation.  After it
    -- is parsed, the library compilation units are placed in the designated
    -- Directory. LIST => true generates a listing of the input file into
    -- the log file.  Wildcards in the File_Name are supported.


    type Promote_Scope is (Single_Unit, Unit_Only, Subunits_Too,
                           All_Parts, Load_Views);

    procedure Promote (Unit        : Unit_Name     := "<IMAGE>";
                       Scope       : Promote_Scope := Compilation.Subunits_Too;
                       Goal        : Unit_State    := Compilation.Installed;
                       Limit       : Change_Limit  := "<WORLDS>";
                       Effort_Only : Boolean       := False;
                       Response    : String        := "<PROFILE>");

    -- Attempts to promote the units designated by the Unit parameter to the
    -- designated Goal. The operation is a no-op if the units are already at
    -- or beyond the goal state.

    -- Unless the Scope is Single_Unit, Promote will attempt to promote the
    -- ancestor units of, the visible part of, and any units with'ed by the
    -- designated units before promoting the designated units. The with'ed
    -- units must exist in the libraries specified by the Limit parameter.

    -- Promotion of other units is NOT attempted; specifically: promotion of
    -- siblings is NOT attempted.  If a designated unit is a visible part,
    -- promotion of the body is NOT attempted.

    -- Scope => Subunits_Too will cause subunits to be promoted.
    -- Scope => All_Parts is equivalent to the Make procedure described below.
    -- Scope => Load_Views is an even wider scope than All_Parts, in that it
    -- will look through the current activity and try to make units
    -- in referenced load views.

    -- Semantic messages are attached to the tree. Semantic and other
    -- messages are appended to the end of the Log_File.

    procedure Make (Unit        : Unit_Name     := "<IMAGE>";
                    Scope       : Promote_Scope := Compilation.All_Parts;
                    Goal        : Unit_State    := Compilation.Coded;
                    Limit       : Change_Limit  := "<WORLDS>";
                    Effort_Only : Boolean       := False;
                    Response    : String        := "<PROFILE>") renames Promote;

    -- Same as Promote except that an attempt is made to promote the
    -- secondary units of each visible part promoted.


    procedure Delete (Unit     : Unit_Name    := "<SELECTION>";
                      Limit    : Change_Limit := "<WORLDS>";
                      Response : String       := "<PROFILE>");

    -- Demotes and deletes the default version of the named unit and its
    -- subunits.


    procedure Destroy (Unit      : Unit_Name    := "<SELECTION>";
                       Threshold : Natural      := 1;
                       Limit     : Change_Limit := "<WORLDS>";
                       Response  : String       := "<PROFILE>");

    -- Deletes and expunges all versions of the named unit and its subunits.
    -- Wildcard notation may be used to specify more than one unit to be
    -- destroyed. The Threshold is the number of objects to be destroyed per
    -- unit specified.


    procedure Compile (File_Name      : Name         := "<REGION>";
                       Library        : Name         := "$";
                       Goal           : Unit_State   := Compilation.Installed;
                       List           : Boolean      := False;
                       Source_Options : String       := "";
                       Limit          : Change_Limit := "<WORLDS>";
                       Response       : String       := "<PROFILE>");

    -- Parses and promotes the units in the given file_name(s) (wildcards
    -- allowed) to the given Goal state in the given Library according to
    -- the Chapter 10 LRM rules for libraries.  If List is true a source
    -- listing with interleaved error messages will be generated to the log
    -- file.


    procedure Dependents (Unit       : Unit_Name := "<IMAGE>";
                          Transitive : Boolean   := False;
                          Response   : String    := "<PROFILE>");

    -- Displays the installed units that depend on (with) the given unit(s);


    procedure Atomic_Destroy (Unit      :     Unit_Name;
                              Success   : out Boolean;
                              Action_Id :     Action.Id    := Action.Null_Id;
                              Limit     :     Change_Limit := "<WORLDS>";
                              Response  :     String       := "<PROFILE>");

    -- Deletes and expunges all versions of the named unit and its subunits.
    -- Wildcard notation may be used to specify more than one unit to be
    -- destroyed.  The operation succeeds only if all designated units can
    -- be destroyed.

    procedure Load (From     : String := ">>MAIN_PROGRAM NAME<<";
                    To       : String := ">>LOADED_MAIN NAME<<";
                    Response : String := "<PROFILE>");

    -- Produce a Loaded_Main program from the main program specified by From.
    -- Put the result at To.

    procedure Set_Target_Key (The_Key  : String := "?";
                              To_World : String := "<IMAGE>";
                              Response : String := "<PROFILE>");

    -- Assign the target key to the specified world.  Once a key has
    -- been assigned to a world, the assignment can be changed only if
    -- the new key and the old key differ only in the front end/back end
    -- policy sub-components.  The default Key string, "?", causes a
    -- list of all available keys to be displayed.

    procedure Show_Target_Key (For_World : String := "<IMAGE>";
                               Response  : String := "<PROFILE>");

    -- Displays in the log the target key currently assigned to the
    -- indicated world.

    function Get_Target_Key (For_World : String := "<IMAGE>") return String;

    -- returns the image of the target key assigned to the indicated
    -- world.

    pragma Subsystem (Commands);
    pragma Module_Name (4, 3936);

end Compilation;

E3 Meta Data

    nblk1=b
    nid=0
    hdr6=16
        [0x00] rec0=1b rec1=00 rec2=01 rec3=044
        [0x01] rec0=00 rec1=00 rec2=0b rec3=00c
        [0x02] rec0=17 rec1=00 rec2=02 rec3=06e
        [0x03] rec0=00 rec1=00 rec2=0a rec3=002
        [0x04] rec0=17 rec1=00 rec2=03 rec3=050
        [0x05] rec0=11 rec1=00 rec2=04 rec3=04a
        [0x06] rec0=13 rec1=00 rec2=05 rec3=042
        [0x07] rec0=18 rec1=00 rec2=06 rec3=036
        [0x08] rec0=15 rec1=00 rec2=07 rec3=028
        [0x09] rec0=13 rec1=00 rec2=08 rec3=078
        [0x0a] rec0=18 rec1=00 rec2=09 rec3=000
    tail 0x20103661483c176311abc 0x42a00088462065003