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: ┃ B T

⟦f618ab6e7⟧ TextFile

    Length: 3536 (0xdd0)
    Types: TextFile
    Names: »B«

Derivation

└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13
    └─ ⟦124ff5788⟧ »DATA« 
        └─⟦this⟧ 
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
    └─ ⟦6f12a12be⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

separate (Object_Management_System)
package body C_Unit is


    function Image (The_Unit_Kind : Unit_Kind) return String is
    begin
        case The_Unit_Kind is
            when C_Main =>
                return "C_Main";
            when C_Spec =>
                return "C_Spec";
            when C_Body =>
                return "C_Body";
            when Not_A_C_Unit =>
                return "      ";
        end case;
    end Image;

    function Image (The_Unit_State : Unit_State) return String is
    begin
        case The_Unit_State is
            when Source =>
                return "S";
            when Compiled =>
                return "C";
            when Linked =>
                return "L";
            when Nonexistent =>
                return " ";
        end case;
    end Image;

    function Kind (The_C_Unit : Library_Object) return Unit_Kind is
    begin
        if The_C_Unit.Subclass = C_Unit_Subclass then
            return The_C_Unit.C_Kind;
        else
            return Not_A_C_Unit;
        end if;
    end Kind;


    function State (The_C_Unit : Library_Object) return Unit_State is
    begin
        if The_C_Unit.Subclass = C_Unit_Subclass then
            return The_C_Unit.C_State;
        else
            return Nonexistent;
        end if;
    end State;

    function Is_Spec (The_C_Unit : Library_Object) return Boolean is
    begin
        return The_C_Unit.C_Kind = C_Spec;
    end Is_Spec;

    function Is_Body (The_C_Unit : Library_Object) return Boolean is
    begin
        return The_C_Unit.C_Kind = C_Body;
    end Is_Body;

    function Is_Main (The_C_Unit : Library_Object) return Boolean is
    begin
        return The_C_Unit.C_Kind = C_Main;
    end Is_Main;

    function Is_Source (The_C_Unit : Library_Object) return Boolean is
    begin
        return The_C_Unit.C_State = Source;
    end Is_Source;


    function Is_Compiled (The_C_Unit : Library_Object) return Boolean is
    begin
        return The_C_Unit.C_State = Compiled;
    end Is_Compiled;


    function Is_Linked (The_C_Unit : Library_Object) return Boolean is
    begin
        return The_C_Unit.C_State = Linked;
    end Is_Linked;


    procedure Create (The_C_Unit : in out Library_Object;
                      Name : String;
                      Kind : Unit_Kind) is
        Obj : Directory.Object;
    begin
        case Kind is
            when C_Spec =>
                Directory.Any_Object.Create
                   (The_Object => Obj,
                    Object_Name => Name & ".h",
                    Object_Class => Directory.File_Class);
            when C_Body | C_Main =>
                Directory.Any_Object.Create
                   (The_Object => Obj,
                    Object_Name => Name & ".c",
                    Object_Class => Directory.File_Class);
            when others =>
                Obj := Directory.Nil;
        end case;
        The_C_Unit := Library_Object'(Subclass => C_Unit_Subclass,
                                      Name => Gs.Value (Name),
                                      C_Kind => Kind,
                                      C_State => Source,
                                      Source_File => Obj,
                                      Object_File => Directory.Nil,
                                      Exec_File => Directory.Nil);
    exception
        when Directory.Already_Existent_Object_Error =>
            The_C_Unit := Nil;
        when Directory.System_Error =>
            The_C_Unit := Nil;
    end Create;
end C_Unit;