|
|
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: 4238 (0x108e)
Types: TextFile
Names: »V«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
with Directory;
with Diana;
package Diana_Utilities is
type Iterator is private;
-- An ordered set of Elements.
procedure Next (Iter : in out Iterator);
function Done (Iter : Iterator) return Boolean;
function Value (Iter : Iterator) return Diana.Tree;
procedure Reset (Iter : in out Iterator);
function Name (Declaration : Diana.Tree) return String;
function Is_Subprogram (A_Declaration : Diana.Tree) return Boolean;
type Operator is (And_Op, Or_Op, Xor_Op, Eq_Op, Lt_Op, Lt_Eq_Op,
Gt_Op, Gt_Eq_Op, Plus_Op, Minus_Op, Concat_Op,
Unary_Plus_Op, Unary_Minus_Op, Mult_Op, Div_Op, Mod_Op,
Rem_Op, Exp_Op, Abs_Op, Not_Op, Not_An_Operator);
function Operator_Kind (Function_Decl : Diana.Tree) return Operator;
function Image (Op : Operator) return String;
function Operator_Name (Function_Decl : Diana.Tree) return String;
type Parameter_Modes is (Default_In_Mode, In_Mode, Out_Mode, In_Out_Mode);
function Parameter_Mode (Of_Parameter : Diana.Tree) return Parameter_Modes;
function Parameters (Procedure_Or_Function : Diana.Tree) return Iterator;
-- Returns an ordered list of formal parameter declarations.
-- Operations for object declarations may be used to analyze
-- parameters
function All_Ids (Of_Parameter : Diana.Tree) return Iterator;
function Return_Type (Of_Function : Diana.Tree) return Diana.Tree;
function Object_Type
(Object_Decl_Or_Object_Id : Diana.Tree) return Diana.Tree;
type Declaration_Kinds is
(A_Variable_Declaration, A_Constant_Declaration,
An_Integer_Number_Declaration, A_Real_Number_Declaration,
A_Type_Declaration, A_Private_Type_Declaration, A_Subtype_Declaration,
A_Package_Declaration, A_Package_Body_Declaration,
A_Procedure_Declaration, A_Procedure_Body_Declaration,
A_Function_Declaration, A_Function_Body_Declaration,
A_Package_Rename_Declaration, A_Procedure_Rename_Declaration,
A_Function_Rename_Declaration, An_Object_Rename_Declaration,
An_Exception_Rename_Declaration,
A_Generic_Package_Declaration, A_Generic_Procedure_Declaration,
A_Generic_Function_Declaration,
A_Package_Instantiation, A_Procedure_Instantiation,
A_Function_Instantiation,
A_Task_Declaration, A_Task_Body_Declaration, A_Task_Type_Declaration,
An_Entry_Declaration,
An_Exception_Declaration,
A_Procedure_Subunit, A_Function_Subunit,
A_Package_Subunit, A_Task_Subunit,
Not_A_Declaration);
function Kind (Declaration : Diana.Tree) return Declaration_Kinds;
type Type_Definition_Kind is
(A_Subtype_Indication, An_Enumeration_Type_Definition,
An_Integer_Type_Definition,
A_Float_Type_Definition, A_Fixed_Type_Definition,
An_Array_Type_Definition, A_Record_Type_Definition,
An_Access_Type_Definition, A_Derived_Type_Definition,
A_Task_Type_Definition, Not_A_Type_Definition);
function Type_Kind (A_Type_Definition : Diana.Tree)
return Type_Definition_Kind;
function Is_Predefined (Type_Def : Diana.Tree) return Boolean;
function Is_String (Type_Def : Diana.Tree) return Boolean;
function Is_Boolean (Type_Def : Diana.Tree) return Boolean;
function Is_Character (Type_Def : Diana.Tree) return Boolean;
function Is_Duration (Type_Def : Diana.Tree) return Boolean;
function Is_Positive (Type_Def : Diana.Tree) return Boolean;
function Is_Natural (Type_Def : Diana.Tree) return Boolean;
function Is_Long_Integer (Type_Def : Diana.Tree) return Boolean
;
function Base_Type (A_Subtype : Diana.Tree) return Diana.Tree;
function Convert (Declaration : Directory.Object) return Diana.Tree;
Inappropriate_Program_Element : exception;
private
type Iterator_Kinds is (Sequence, Seq_Type, None);
type Iterator is
record
Kind : Iterator_Kinds := None;
Sequence_Root, Sequence_Current : Diana.Sequence;
Seq_Type_Root, Seq_Type_Current : Diana.Seq_Type;
end record;
end Diana_Utilities;