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 - downloadIndex: ┃ B T ┃
Length: 3881 (0xf29) Types: TextFile Names: »B«
└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2 └─ ⟦77aa8350c⟧ »DATA« └─⟦f794ecd1d⟧ └─⟦24d1ddd49⟧ └─⟦this⟧
separate (Shared_Code_Generic_Support) procedure Unary_Dispatch (Type_Desc : Type_Descriptor; Exp : Expression; Exp_Kind : Expression_Kind) is pragma Suppress_All; pragma Routine_Number (Runtime_Ids.Internal); Exp_Data_Kind : constant Data_Kind := Data_Kind_Of (Type_Desc.Type_Kind, Exp_Kind); begin case Exp_Data_Kind is when Undefined => null; when Value => Unary_Value_Op (Exp); when Data_Ptr => declare package Data_Subtype is new Establish_Data_Subtype (Get_Value_Size (Type_Desc, Exp, Exp_Kind)); Exp_Data_Ref : constant Data_Subtype.Data_Ref := Data_Subtype.Cnvt (Exp); Exp_Data : Data_Subtype.Actual_Data renames Exp_Data_Ref.all; begin Unary_Data_Op (Exp_Data); end; when Dv_Data_Ptr => declare Dope_Vector_Size : constant Integer := Get_Dope_Vector_Size (Type_Desc.Constraints); package Dv_Subtype is new Establish_Dope_Vector_Subtype (Dope_Vector_Size); Exp_Dope_Ref : constant Dv_Subtype.Dope_Ref := Dv_Subtype.Cnvt (Exp); Exp_Dope : Dv_Subtype.Actual_Dope renames Exp_Dope_Ref.all; package Data_Subtype is new Establish_Data_Subtype (Exp_Dope (1).Size); Exp_Data_Ref : constant Data_Subtype.Data_Ref := Data_Subtype.Cnvt (System.Address (Exp) + Dope_Vector_Size); Exp_Data : Data_Subtype.Actual_Data renames Exp_Data_Ref.all; begin Unary_Unconstrained_Array_Op (Exp_Dope, Exp_Data); end; when Unconstrained_Array_Desc_Ptr => declare Uncons_Desc_Ref : constant Unconstrained_Descriptor_Ref := Cnvt (Exp); package Dv_Subtype is new Establish_Dope_Vector_Subtype (Get_Dope_Vector_Size (Type_Desc.Constraints)); Exp_Dope_Ref : constant Dv_Subtype.Dope_Ref := Dv_Subtype.Cnvt (Uncons_Desc_Ref.all.Constraint); Exp_Dope : Dv_Subtype.Actual_Dope renames Exp_Dope_Ref.all; package Data_Subtype is new Establish_Data_Subtype (Exp_Dope (1).Size); Exp_Data_Ref : constant Data_Subtype.Data_Ref := Data_Subtype.Cnvt (Uncons_Desc_Ref.all.Data); Exp_Data : Data_Subtype.Actual_Data renames Exp_Data_Ref.all; begin Unary_Unconstrained_Array_Op (Exp_Dope, Exp_Data); end; when Unconstrained_Record_Desc_Ptr => declare Uncons_Desc_Ref : constant Unconstrained_Descriptor_Ref := Cnvt (Exp); package Data_Subtype is new Establish_Data_Subtype (Get_Value_Size (Type_Desc, Exp, Exp_Kind)); Exp_Constrained_Ref : constant Boolean_Ref := Cnvt (Uncons_Desc_Ref.all.Constraint'Address); Exp_Constrained : Boolean renames Exp_Constrained_Ref.all; Exp_Data_Ref : constant Data_Subtype.Data_Ref := Data_Subtype.Cnvt (Uncons_Desc_Ref.all.Data); Exp_Data : Data_Subtype.Actual_Data renames Exp_Data_Ref.all; begin Unary_Unconstrained_Record_Op (Exp_Constrained, Exp_Data); end; end case; end Unary_Dispatch; pragma Runtime_Unit (Unit_Number => Runtime_Ids.Runtime_Compunit, Elab_Routine_Number => Runtime_Ids.Internal);