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

⟦65399f482⟧ TextFile

    Length: 955 (0x3bb)
    Types: TextFile
    Names: »B«

Derivation

└─⟦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

with Subprogram_Implementation;
with Text_Io;
procedure Test_Call_Backs is
    package Si renames Subprogram_Implementation;
    P, Q, R : Si.Subprogram_Type;

    generic
        with procedure To_Call (P : Natural);
    function Value return Si.Subprogram_Type;

    function Value return Si.Subprogram_Type is
    begin
        return Si.Get (Si.Mode_Vector'(1 .. 1 => Si.In_Mode));
    end Value;

    procedure Call (Sp : Si.Subprogram_Type; Data : Natural) is
        Spp    : Si.Subprogram_Type;
        Offset : constant Si.Offset_Vector := (Spp'Offset, Data'Offset);
    begin
        Spp := Sp;
        Si.Invoke (Si.Mode_Vector'(1 .. 1 => Si.In_Mode), Offset);
    end Call;
    procedure One (Count : Natural) is
    begin
        for I in 1 .. Count loop
            Text_Io.Put_Line ("one");
        end loop;
    end One;
    function Make_Sp_Pointer is new Value (One);
begin
    P := Make_Sp_Pointer;
    Call (P, 5);
end Test_Call_Backs;