|
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 - download
Length: 12288 (0x3000) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package Interface_Analysis, seg_020b9e
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦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 0x2151c8034838d44fc397c 0x42a00088462061e03