|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 4949 (0x1355)
Types: TextFile
Names: »V«
└─⟦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⟧
with Diana;
with Directory;
with Links_Implementation;
with Io_Exceptions;
package Link_Tools is
pragma Subsystem (Tools, Private_Part => Closed);
pragma Module_Name (4, 3975);
package Links renames Links_Implementation;
subtype World_Name is String;
This_World : constant World_Name := "$";
-- The string name for the World associated with the current naming
-- context.
subtype Link_Name is String;
-- An Ada simple name. When used as an in-parameter, except in Add and
-- Replace, it may contain wildcard characters. In Add and Replace it
-- may contain substitution characters.
subtype Source_Name is String;
-- A directory string name that specifies an existing Ada Library Unit.
-- (The unit does not have to be installed, but its declaration must be
-- in a library.) May contain wildcard characters when used as an
-- in-parameter.
subtype Link_Kind is Links.Link_Kind;
-- If the source unit is in the same world as the link,
-- the link is Internal; otherwise it is External.
Any : constant Link_Kind := Links.Any;
External : constant Link_Kind := Links.External;
Internal : constant Link_Kind := Links.Internal;
function "=" (L, R : Link_Kind) return Boolean renames Links."=";
Name_Error : exception renames Io_Exceptions.Name_Error;
-- Raised if a World parameter cannot be resolved.
Use_Error : exception renames Io_Exceptions.Use_Error;
-- Raised of the link pack cannot be opened for other reasons.
function Has (Link : Link_Name := "@";
Source : Source_Name := "?";
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World) return Boolean;
-- Returns true iff the pack contains at least one link that matches the
-- given link, source, and kind parameters.
function Link (Source : Source_Name;
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World) return Link_Name;
function Link (Source : Diana.Tree;
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World) return Link_Name;
function Link (Source : Directory.Object;
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World) return Link_Name;
-- Given a Source_Name, Def_ID, or Directory.Object for an Ada unit,
-- returns a link for that unit in the given world that matches the
-- Kind parameter. A null string is returned if no such link can be
-- found.
function Source (Link : Link_Name;
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World) return Source_Name;
function Source (Link : Link_Name;
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World) return Diana.Tree;
function Source (Link : Link_Name;
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World) return Directory.Object;
-- Returns either the Source_Name, Def_ID, or Directory.Object for an Ada
-- unit corresponding to a link that matches the Link and Kind parameter.
-- Returns a null object if no match can be found.
type Dependent_Iterator is private;
function Dependents (Link : Link_Name := "@";
Source : Source_Name := "?";
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World)
return Dependent_Iterator;
procedure Next (Iter : in out Dependent_Iterator);
function Value (Iter : Dependent_Iterator) return Diana.Tree;
function Done (Iter : Dependent_Iterator) return Boolean;
-- Computes the Library Units of the world that are installed or coded
-- and reference any of the links specified by the Source, Link and Kind
-- parameters.
type Link_Iterator is private;
procedure Init (Iter : out Link_Iterator;
Source : Source_Name := "?";
Link : Link_Name := "@";
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World);
procedure Next (Iter : in out Link_Iterator);
function Link (Iter : Link_Iterator) return Link_Name;
function Source (Iter : Link_Iterator) return Source_Name;
function Source (Iter : Link_Iterator) return Diana.Tree;
function Source (Iter : Link_Iterator) return Directory.Object;
function Kind (Iter : Link_Iterator) return Link_Kind;
function Done (Iter : Link_Iterator) return Boolean;
-- For iterating over the Links in a link pack that match given Source
-- and Link patterns
end Link_Tools;