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

⟦46069e8f1⟧ Ada Source

    Length: 10240 (0x2800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Compilation, pragma Module_Name 4 3936, pragma Subsystem Commands, seg_01282d

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



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 := False;
                      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=9
    nid=0
    hdr6=12
        [0x00] rec0=1b rec1=00 rec2=01 rec3=050
        [0x01] rec0=18 rec1=00 rec2=02 rec3=032
        [0x02] rec0=17 rec1=00 rec2=03 rec3=072
        [0x03] rec0=13 rec1=00 rec2=04 rec3=03e
        [0x04] rec0=15 rec1=00 rec2=05 rec3=01c
        [0x05] rec0=17 rec1=00 rec2=06 rec3=03c
        [0x06] rec0=17 rec1=00 rec2=07 rec3=018
        [0x07] rec0=13 rec1=00 rec2=08 rec3=07e
        [0x08] rec0=13 rec1=00 rec2=09 rec3=000
    tail 0x2170e4f3a82b08111636a 0x42a00088462060003