|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 12288 (0x3000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Interface_Analysis, seg_020bcd
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
--| @SUMMARY Builds a database containing semantic information about
--| types and declarations in a package spec.
--|
with Ada_Program;
with Unbounded_String;
with Declaration_Table;
with Declarations;
with Type_Information;
package Interface_Analysis is
type Database is private;
procedure Analyze (Declarations_In_Package : String := "<SELECTION>";
Db : in out Database);
--|
--| @PARAMETERS Declarations_In_Package =>
--| The pathname of a package that contains visible
--| declarations.
--| @SPECIAL_NOTES Only non-generic subprograms and exceptions are
--| valid.
procedure Add_Other_Exceptions
(Declaration_List : String := ">>WILDCARD REFERENCE<<";
Db : in out Database);
type Reference_Iterator is private;
procedure Init (From_Db : Database; Iter : in out Reference_Iterator);
function Done (Iter : Reference_Iterator) return Boolean;
function Referenced_Unit (Iter : Reference_Iterator)
return Ada_Program.Compilation_Unit;
function Reference (Iter : Reference_Iterator) return String;
procedure Next (Iter : in out Reference_Iterator);
type Id_Iterator is private;
function Done (Iter : Id_Iterator) return Boolean;
function Reference (Iter : Id_Iterator) return String;
function Name (Iter : Id_Iterator) return String;
procedure Next (Iter : in out Id_Iterator);
type Exception_Iterator is private;
procedure Init (From_Db : Database; Iter : in out Exception_Iterator);
function Done (Iter : Exception_Iterator) return Boolean;
function Names (Iter : Exception_Iterator) return Id_Iterator;
function Unique_Name (Iter : Exception_Iterator) return String;
function Reference (Iter : Exception_Iterator) return String;
procedure Next (Iter : in out Exception_Iterator);
subtype Parameter_Mode is Declarations.Subprogram_Parameter_Kinds;
subtype Type_Kind is Type_Information.Type_Definition_Kinds;
subtype Type_Decl is Declarations.Type_Declaration;
function Reference (Of_Type : Type_Decl) return String;
function Name (Of_Type : Type_Decl) return String;
function Kind (Of_Type : Type_Decl) return Type_Kind;
type Parameter_Iterator is private;
function Done (Iter : Parameter_Iterator) return Boolean;
function Names (Iter : Parameter_Iterator) return Id_Iterator;
function Formals_Image (Iter : Parameter_Iterator) return String;
function Formals_Type_Decl (Iter : Parameter_Iterator) return Type_Decl;
function Mode (Iter : Parameter_Iterator) return Parameter_Mode;
function Initial_Expression (Iter : Parameter_Iterator) return String;
function Image (Iter : Parameter_Iterator) return String;
procedure Next (Iter : in out Parameter_Iterator);
type Subprogram_Kind is (A_Procedure, A_Function);
type Subprogram_Iterator is private;
procedure Init (From_Db : Database; Iter : in out Subprogram_Iterator);
function Done (Iter : Subprogram_Iterator) return Boolean;
function Name (Iter : Subprogram_Iterator) return String;
function Unique_Name (Iter : Subprogram_Iterator) return String;
function Reference (Iter : Subprogram_Iterator) return String;
function Kind (Iter : Subprogram_Iterator) return Subprogram_Kind;
function Return_Type_Decl (Iter : Subprogram_Iterator) return Type_Decl;
function Parameters (Iter : Subprogram_Iterator) return Parameter_Iterator;
procedure Next (Iter : in out Subprogram_Iterator);
type Unique_Type_Iterator is private;
procedure Init (From_Db : Database; Iter : in out Unique_Type_Iterator);
function Done (Iter : Unique_Type_Iterator) return Boolean;
function Decl (Iter : Unique_Type_Iterator) return Type_Decl;
function Reference (Iter : Unique_Type_Iterator) return String;
procedure Next (Iter : in out Unique_Type_Iterator);
private
package Unbounded is new Unbounded_String (80);
type Parameter_Iterator is new Ada_Program.Element_Iterator;
type Decl_Kind is (An_Exception, A_Function, A_Procedure);
type Decl_State is
record
Kind : Decl_Kind;
Parameters : Parameter_Iterator;
Return_Type : Ada_Program.Element;
Return_Type_Kind : Type_Kind;
end record;
type Global_State is new Boolean;
procedure Update_State (Decl : Ada_Program.Declaration;
S : in out Decl_State;
Global : in out Global_State);
Max_Decls : constant := 200;
package Rpc_Decls is new Declaration_Table (Max_Decls, Global_State,
Decl_State, Update_State);
type Type_State is
record
Kind : Type_Kind;
Is_Standard : Boolean;
end record;
procedure Update_State (Decl : Ada_Program.Declaration;
S : in out Type_State;
Global : in out Global_State);
package Unique_Types is new Declaration_Table (Max_Decls, Global_State,
Type_State, Update_State);
type Database is
record
Decls : Rpc_Decls.Database;
Types : Unique_Types.Database;
Error_Message : Unbounded.Variable_String;
end record;
type Reference_Iterator is
record
Decl_Iter : Rpc_Decls.Parent_Comp_Unit_Iterator;
Types_Iter : Unique_Types.Parent_Comp_Unit_Iterator;
end record;
type Exception_Iterator is new Rpc_Decls.Declaration_Iterator;
type Subprogram_Iterator is new Rpc_Decls.Declaration_Iterator;
type Unique_Type_Iterator is new Unique_Types.Declaration_Iterator;
type Id_Iterator is new Ada_Program.Element_List;
end Interface_Analysis;
nblk1=b
nid=0
hdr6=16
[0x00] rec0=1e rec1=00 rec2=01 rec3=07e
[0x01] rec0=15 rec1=00 rec2=02 rec3=084
[0x02] rec0=01 rec1=00 rec2=0b rec3=038
[0x03] rec0=15 rec1=00 rec2=03 rec3=01c
[0x04] rec0=00 rec1=00 rec2=0a rec3=048
[0x05] rec0=16 rec1=00 rec2=04 rec3=06c
[0x06] rec0=00 rec1=00 rec2=09 rec3=010
[0x07] rec0=1c rec1=00 rec2=05 rec3=068
[0x08] rec0=00 rec1=00 rec2=07 rec3=02c
[0x09] rec0=1d rec1=00 rec2=08 rec3=01e
[0x0a] rec0=06 rec1=00 rec2=06 rec3=000
tail 0x2171d3028838d455135b3 0x42a00088462061e03