|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 3131 (0xc3b)
Types: TextFile
Names: »V«
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
└─⟦fc9b38f02⟧ »DATA«
└─⟦9b46a407a⟧
└─⟦12c68c704⟧
└─⟦this⟧
└─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS
└─⟦91c658230⟧ »DATA«
└─⟦458657fb6⟧
└─⟦220843204⟧
└─⟦this⟧
with Diana;
with System;
with Action;
with Directory;
package Diana_Expand is
pragma Subsystem (Compiler_Utilities, Private_Part => Closed);
pragma Module_Name (4, 2901);
subtype Heap_Type is System.Segment;
type Mapping is private;
-- mapping from formals to actuals and from nodes to brothers
procedure Expand_Inline_Subprogram (Subp_Id : Diana.Tree;
Formal_Id_List : Diana.Sequence;
Actuals_List : Diana.Sequence;
Actuals_Copy : out Diana.Seq_Type;
Block_Copy : out Diana.Tree;
Heap : Heap_Type);
-- expand an inlined subprogram body
function Copy (Node : Diana.Tree; Heap : Heap_Type) return Diana.Tree;
-- make semantically attributed copy of a tree
procedure Expand_Body (Instance_Id : Diana.Tree;
Instantiation : Diana.Tree;
Unit_Body : out Diana.Tree;
Heap : Heap_Type;
Action_Id : Action.Id);
-- expand a body (if any) of a generic whose visible part has been
-- previously expanded
-- the following procedures are used by the semantics while
-- checking a generic instantiation.
-- START_ACTUAL_MAPPINGS must be called first.
-- followed by calls to add mappings.
-- then a call to expand the instantiation.
procedure Start_Actual_Mappings (Map : in out Mapping; Heap : Heap_Type);
-- setup for the mappings from formals to actuals
procedure Add_Actual_Mapping (Formal_Id : Diana.Tree;
Actual : Diana.Tree;
Map : in out Mapping);
-- add a mapping from a formal id to its corresponding actual
procedure New_Actual_Mapping (Formal_Id : Diana.Tree;
Actual : Diana.Tree;
Map : in out Mapping;
Result : out Diana.Tree);
-- add a mapping from a formal id to its corresponding actual and return
-- the tree for the declaration constructed
procedure Context_Dependent_Copy (Node : Diana.Tree;
Copy : out Diana.Tree;
Map : in out Mapping);
-- copy a node relative to formal/actual mappings
procedure Expand_Instantiation (Unit_Id : Diana.Tree;
Instantiation : Diana.Tree;
Append_Trees : out Diana.Sequence;
Map : in out Mapping;
Expand_Body : Boolean := True;
Action_Id : Action.Id);
-- expand an instantiation based on formal/actual mappings
end Diana_Expand;