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

⟦838395c47⟧ TextFile

    Length: 2267 (0x8db)
    Types: TextFile
    Names: »V«

Derivation

└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2
    └─ ⟦77aa8350c⟧ »DATA« 
        └─⟦f794ecd1d⟧ 
            └─⟦this⟧ 

TextFile

-- This package contains definitions that are common to all CDF debuggers.

with Byte_Defs;
with Unchecked_Conversions;
with Managed_Sequence_Generic;

package Cdf_Definitions is

    type Return_Mechanism is (String_On_Stack);
    -- only mechanism currently supported

    type Parameter_Data (Size : Natural) is
        record
            Value        : Byte_Defs.Byte_String (1 .. Size);
            Push_Address : Boolean;
            -- if True, then store Value somewhere and push its address on stack
        end record;

    type Parameter is access Parameter_Data;
    pragma Enable_Deallocation (Parameter);

    function Build_Parameter
                (Value : Byte_Defs.Byte_String; Push_Address : Boolean)
                return Parameter;


    procedure Free_Parameter (P : in out Parameter);

    package Parameter_List is new Managed_Sequence_Generic
                                     (Parameter, Free_Parameter);

    type Call_Descriptor is
        record
            Subprogram_Address : Long_Integer;
            Is_Function        : Boolean;  -- currently always true
            Return_Mechanism   : Cdf_Definitions.Return_Mechanism;
            Parameters         : Parameter_List.Sequence;
        end record;

    function Nil return Parameter_List.Sequence renames Parameter_List.Nil;

    procedure Append (Params : in out Parameter_List.Sequence; P : Parameter)
        renames Parameter_List.Append;

    subtype Iterator is Parameter_List.Iterator;

    procedure Init (Iter : out Iterator; S : Parameter_List.Sequence)
        renames Parameter_List.Init;
    procedure Next (Iter : in out Iterator) renames Parameter_List.Next;
    function  Value (Iter : Iterator) return Parameter
        renames Parameter_List.Value;
    function  Done (Iter : Iterator) return Boolean renames Parameter_List.Done;

    procedure Free (S : in out Parameter_List.Sequence)
        renames Parameter_List.Free;
    -- frees sequence and all elements of sequence;

    function Convert_Natural (N : Natural) return Byte_Defs.Byte_String;

    function Convert_Boolean (B : Boolean) return Byte_Defs.Byte_String;

    --/R1000 pragma Subsystem (Cross_Development);
    pragma Module_Name (4, 3877);
    pragma Bias_Key (28);

end Cdf_Definitions;