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

⟦0166f8d1f⟧ Ada Source

    Length: 11264 (0x2c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Mapping, pragma Module_Name 4 3583, pragma Segmented_Heap Target_Info, pragma Subsystem Design_Facility, seg_001c69

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with Ada_Program;
with Errors;
with Document;
with Pdl;
with System;
package Mapping is

    subtype Area is Pdl.Area;
    Nil_Area : Area renames Pdl.Default_Area;

    procedure Set (The_Area     : out Area;
                   First_Line   :     Natural;  
                   First_Column :     Natural;  
                   Last_Line    :     Natural;  
                   Last_Column  :     Natural)  
        renames Pdl.Set_Range;

    Nil_Document : Document.Element    renames Document.Nil_Element;
    Nil_Pdl      : Ada_Program.Element renames Ada_Program.Nil_Element;

    -----------------------------------------------------------
    -- TARGET_INFOs are not 'safe' objects. To save them in
    -- permanent objects (like files) they must be converted to
    -- TARGET_INFO_PERMANENT_REPRESENTATIONs.
    -----------------------------------------------------------
    type Target_Info is private;
    Nil_Target_Info : constant Target_Info;
    function Is_Nil (A_Target : Target_Info) return Boolean;


    function Create (Pdl_Reference      : Ada_Program.Element := Nil_Pdl;
                     Document_Reference : Document.Element := Nil_Document;
                     Pdl_Area           : Area := Nil_Area;
                     Document_Area      : Area := Nil_Area) return Target_Info;

    function Create (Pdl_References      : Ada_Program.Element_List;
                     Document_References : Document.Element_List)
                    return Target_Info;


    procedure Add_Pdl_Reference (To_Target      : in out Target_Info;
                                 Pdl_References : Ada_Program.Element_List);
    procedure Add_Pdl_Reference  
                 (To_Target     : in out Target_Info;
                  Pdl_Reference :        Ada_Program.Element;
                  Pdl_Area      :        Area := Nil_Area);


    procedure Add_Document_Reference
                 (To_Target           : in out Target_Info;
                  Document_References :        Document.Element_List);

    procedure Add_Document_Reference  
                 (To_Target          : in out Target_Info;
                  Document_Reference :        Document.Element;
                  Document_Area      :        Area := Nil_Area);


    function Contains_Pdl_Reference (In_Target : Target_Info) return Boolean;
    function Contains_Document_Reference
                (In_Target : Target_Info)                     return Boolean;

    function Documents_In (A_Target : Target_Info) return Document.Element_List;
    function Pdl_In (A_Target : Target_Info) return Ada_Program.Element_List;



    -----------------------------------------------------------
    -- TARGET_INFOs are not 'safe' objects. To save them in
    --  permanent objects (like files), they must be converted to
    --  TARGET_INFO_PERMANENT_REPRESENTATIONs.
    -----------------------------------------------------------

    type Target_Info_Permanent_Representation is new String;

    function Convert (Target : Target_Info;  
                      Within : String := "<SUBSYSTEM>")
                     return Target_Info_Permanent_Representation;
    -- The WITHIN parameter specifies how fully qualified the
    -- representation is (or should be resolved). When converting from
    -- a target info to a permanent representation, the values can be :
    --   <FULL>         - The info's fully qualified resolution is
    --                    returned.
    --   <SUBSYSTEM>    - The resolution of the info is subsystem
    --                    relative. Subsystem name and spec or load origin
    --                    is preserved.
    --   <VIEW>         - The resolution of the element is view relative.
    --                    No origin information is preserved.
    --
    -- Storage for <SUBSYSTEM> or <VIEW> representation are less than
    -- <FULL> but some origin information is lost.
    --

    procedure Convert (Target_Rep :        Target_Info_Permanent_Representation;
                       Result     : out    Target_Info;
                       Status     : in out Errors.Condition;
                       Within     :        String := "<DEFAULT>");
    -- When converting from a permanent representation to a target info,
    -- an attempt is made to fill in any missing information in the
    -- permanent representation from the WITHIN parameter. So, in all
    -- cases, if the permanent representation was FULLy resolved the
    -- WITHIN parameter is ignored, otherwise :
    --   <DEFAULT>      - For <SUBSYSTEM>, the view selected by
    --                    the current activity for the stored subsystem is
    --                    used as the origin. The spec or load origin of the
    --                    representation is used to pick the specific view.
    --                    For <VIEW>, the current view context is used as
    --                    the origin.
    --   subsystem name - For <SUBSYSTEM>, same as <DEFAULT>.
    --                    For <VIEW>, the view selected by the current
    --                    activity for the specified subsystem is used.
    --                    The subsystem name can be followed by "'SPEC" or
    --                    "'LOAD" to force use of the spec view or load
    --                    view from the activity. (Defaults to Spec View)
    --   view name      - For <SUBSYSTEM>, if the subsystem containing the
    --                    specified view matches the representation's
    --                    subsystem, the specified view is used.
    --                    If no match, same as <DEFAULT>.
    --                    For <VIEW> the specified view is used.


    procedure Definition (Of_Target_Info :        Target_Info;  
                          In_Place       :        Boolean := False;  
                          Edit           :        Boolean := False;  
                          Status         : in out Errors.Condition);

-- Hide these ...
    procedure Convert (Target_Rep :        Target_Info_Permanent_Representation;
                       Result     : out    Target_Info;
                       Status     : in out Errors.Condition;
                       Within     :        String := "<DEFAULT>";
                       Use_Heap   :        System.Segment);

    function Create  
                (Pdl_Reference      : Ada_Program.Element := Nil_Pdl;
                 Document_Reference : Document.Element    := Nil_Document;
                 Pdl_Area           : Area                := Nil_Area;
                 Document_Area      : Area                := Nil_Area;
                 Use_Heap           : System.Segment) return Target_Info;

    function Create (Pdl_References      : Ada_Program.Element_List;
                     Document_References : Document.Element_List;
                     Use_Heap            : System.Segment) return Target_Info;

    function Debug_Image (Of_Target_Info  : Target_Info;
                          Level           : Natural;
                          Prefix          : String;
                          Expand_Pointers : Boolean) return String;


    pragma Subsystem (Design_Facility, Closed);
    pragma Module_Name (4, 3583);

    pragma Bias_Key (109);
private
    type Target_Data;
    type Target_Info is access Target_Data;
    pragma Segmented_Heap (Target_Info);

    Nil_Target_Info : constant Target_Info := null;
end Mapping;

E3 Meta Data

    nblk1=a
    nid=0
    hdr6=14
        [0x00] rec0=1d rec1=00 rec2=01 rec3=00a
        [0x01] rec0=00 rec1=00 rec2=0a rec3=010
        [0x02] rec0=16 rec1=00 rec2=02 rec3=076
        [0x03] rec0=18 rec1=00 rec2=03 rec3=010
        [0x04] rec0=00 rec1=00 rec2=09 rec3=028
        [0x05] rec0=14 rec1=00 rec2=04 rec3=01c
        [0x06] rec0=0f rec1=00 rec2=05 rec3=008
        [0x07] rec0=10 rec1=00 rec2=06 rec3=02e
        [0x08] rec0=12 rec1=00 rec2=07 rec3=090
        [0x09] rec0=13 rec1=00 rec2=08 rec3=000
    tail 0x20100f6d47da18db7d50d 0x42a00088462065003