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

⟦6a64cdf19⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Naming, seg_022509, separate Directory

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



separate (Directory)
package body Naming is

    Directory_Separator : constant Character := '/';
    Extension_Separator : constant Character := '.';

    procedure Set_Default_Context (The_Context :     Naming.String_Name;
                                   Status      : out Naming.Status) is
    begin
        [statement]
    end Set_Default_Context;


    procedure Set_Default_Context (The_Context :     Naming.Context;
                                   Status      : out Naming.Status) is
    begin
        [statement]
    end Set_Default_Context;


    function Default_Context return Naming.String_Name is
    begin
        [statement]
    end Default_Context;


    function Default_Context return Naming.Context is
    begin
        [statement]
    end Default_Context;


    function Is_Well_Formed (A_Name : String_Name) return Boolean is
    begin
        [statement]
    end Is_Well_Formed;


    function Prefix (The_Name : String_Name) return String_Name is
        I : constant Natural := Su.Reverse_Locate
                                   (Directory_Separator, The_Name, False);
    begin
        if I = 0 then
            return "";
        else
            return The_Name (The_Name'First .. I - 1);
        end if;
    end Prefix;


    function Simple_Name (The_Name : String_Name) return Simple_String_Name is
        I : constant Natural := Su.Reverse_Locate
                                   (Directory_Separator, The_Name, False);
    begin
        if I = 0 then
            return The_Name;
        else
            return The_Name (I + 1 .. The_Name'Last);
        end if;
    end Simple_Name;


    function Head (The_Name : String_Name) return Simple_String_Name is
        I : constant Natural := Su.Locate
                                   (Directory_Separator, The_Name, False);
    begin
        if I = 0 then
            return The_Name;       elsif I = The_Name'First then
            return "/";
        else
            return The_Name (The_Name'First .. I - 1);
        end if;
    end Head;


    function Tail (The_Name : String_Name) return String_Name is
        I : constant Natural := Su.Locate
                                   (Directory_Separator, The_Name, False);
    begin
        if I = 0 then
            return "";
        else
            return The_Name (I + 1 .. The_Name'Last);
        end if;
    end Tail;


    function Extension (A_Name : String_Name) return String is
        I : constant Natural := Su.Reverse_Locate
                                   (Extension_Separator, A_Name, False);
    begin
        if I = 0 then
            return "";
        else
            return A_Name (I .. A_Name'Last);
        end if;
    end Extension;


    function Full_Name (The_Object : Object) return Naming.String_Name is
    begin
        return Us.Image (The_Object.Name);
    end Full_Name;


    function Simple_Name (The_Object : Object) return Simple_String_Name is
        S : constant String  := Us.Image (The_Object.Name);
        I : constant Natural := Su.Reverse_Locate
                                   (Directory_Separator, S, False);
    begin
        if I = 0 then
            return S;
        else
            return S (I .. S'Last);
        end if;
    end Simple_Name;


    function Resolution
                (Name    : Naming.String_Name;
                 Context : Naming.Context := Default_Context) return Object is
    begin
        [statement]
    end Resolution;


    function Resolution
                (Name    : Naming.String_Name;
                 Context : Naming.Context := Default_Context) return Iterator is
    begin
        [statement]
    end Resolution;
end Naming;


E3 Meta Data

    nblk1=5
    nid=4
    hdr6=8
        [0x00] rec0=28 rec1=00 rec2=01 rec3=01c
        [0x01] rec0=1e rec1=00 rec2=05 rec3=002
        [0x02] rec0=22 rec1=00 rec2=02 rec3=03e
        [0x03] rec0=22 rec1=00 rec2=03 rec3=000
        [0x04] rec0=00 rec1=92 rec2=08 rec3=50d
    tail 0x2171e038283945164b6ff 0x42a00088462062803
Free Block Chain:
  0x4: 0000  00 00 03 fc 80 25 20 3a 20 53 74 72 69 6e 67 5f  ┆     % : String_┆