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 - download
Index: ┃ T V

⟦830d701d6⟧ TextFile

    Length: 8308 (0x2074)
    Types: TextFile
    Names: »V«

Derivation

└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
    └─ ⟦fc9b38f02⟧ »DATA« 
        └─⟦9b46a407a⟧ 
            └─⟦12c68c704⟧ 
                └─⟦this⟧ 
└─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS 
    └─ ⟦91c658230⟧ »DATA« 
        └─⟦458657fb6⟧ 
            └─⟦220843204⟧ 
                └─⟦this⟧ 

TextFile

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;