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

⟦c46bda900⟧ Ada Source

    Length: 9216 (0x2400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Standard_Ada_Io, seg_004632

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



--| @summary Provides functions for generating ada program code.
--|
package Standard_Ada_Io is

    function Make_With_Clause (Name : String) return String;

    type Unit_Part is (Spec_Part, Body_Part, Call);

    function Make_Package (Name : String; Kind : Unit_Part) return String;

    generic
        type Id_Iterator is private;

        type Parameter_Iterator is private;
        with function  Done (Iter : Parameter_Iterator) return Boolean is <>;
        with procedure Next (Iter : in out Parameter_Iterator)         is <>;

        with function Formal_Names
                         (Iter : Parameter_Iterator) return Id_Iterator;
        with function Formal_Name (Iter : Parameter_Iterator) return String;
        with function Type_Name   (Iter : Parameter_Iterator) return String;
        with function Mode        (Iter : Parameter_Iterator) return String;

        with function Initial_Value (Iter : Parameter_Iterator)  
                                    return String;
        -- this function is used to build initialization for parameters
        -- in spec and body declarations

        with function  Ids_Done (Iter : Id_Iterator) return Boolean;
        with function  Name     (Iter : Id_Iterator) return String;
        with procedure Ids_Next (Iter : in out Id_Iterator);

        with function Ids_Initial_Value (Iter : Id_Iterator) return String;
        -- this function is used to build initialization for parameters
        -- in subprogram calls

    package Subprograms is
        function Make_Procedure (Name       : String;
                                 Kind       : Unit_Part;
                                 Param_Iter : Parameter_Iterator) return String;

        function Make_Function (Name              : String;
                                Kind              : Unit_Part;
                                Param_Iter        : Parameter_Iterator;
                                Return_Expression : String) return String;
    end Subprograms;

    function Make_Procedure (Name             : String;  
                             Kind             : Unit_Part;
                             Parameters_Image : String) return String;

    function Make_Function (Name              : String;
                            Kind              : Unit_Part;
                            Parameters_Image  : String;
                            Return_Expression : String) return String;

    function Make_Exception (Name : String) return String;

    function Make_Variable_Declaration (Name      : String;  
                                        Type_Mark : String)     return String;
    function Make_Constant_Declaration (Name          : String;  
                                        Type_Mark     : String;
                                        Initial_Value : String) return String;
    function Make_Assignment           (Name       : String;  
                                        Expression : String)    return String;

    function Make_Declare (Label : String := "") return String;
    function Make_Begin return String;  
    function Make_End     (Name : String := "") return String;
    function Make_Exception_Handler return String;

    function Make_If_Header (Expression : String) return String;
    function Make_Elsif     (Expression : String) return String;
    function Make_Else return String;
    function Make_End_If return String;

    function Make_Case_Header (Expression : String) return String;
    function Make_Alternative (Expression : String) return String;
    function Make_End_Case return String;


    function Make_Loop (Label : String := "") return String;
    function Make_For_Loop (Iteration_Variable : String := "I";
                            Lower : String;
                            Upper : String;
                            Label : String := "";
                            Add_Reverse : Boolean := False) return String;
    function Make_While_Loop (Termination_Expression : String;  
                              Label : String := "") return String;
    function Make_End_Loop return String;

    function Make_Exit   (Condition : String := "")     return String;
    function Make_Return (Expression : String := "")    return String;
    function Make_Raise  (The_Exception : String := "") return String;

end Standard_Ada_Io;

E3 Meta Data

    nblk1=8
    nid=0
    hdr6=10
        [0x00] rec0=1a rec1=00 rec2=01 rec3=02a
        [0x01] rec0=00 rec1=00 rec2=08 rec3=024
        [0x02] rec0=14 rec1=00 rec2=02 rec3=072
        [0x03] rec0=00 rec1=00 rec2=07 rec3=00c
        [0x04] rec0=14 rec1=00 rec2=03 rec3=04c
        [0x05] rec0=00 rec1=00 rec2=06 rec3=036
        [0x06] rec0=17 rec1=00 rec2=04 rec3=016
        [0x07] rec0=09 rec1=00 rec2=05 rec3=000
    tail 0x217002488815c66109f10 0x42a00088462061e03