|
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: 8192 (0x2000) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Boolean_Class, seg_0377d7, seg_038f29, seg_038f77
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Text_Io; with Object; with Error_Broadcaster; with Bounded_String; with String_Utilities; package body Boolean_Class is type Binary_Message is (Et, Ou); type Unary_Message is (Entexte, Non); function Send (To_Object : Object.Reference; The_Message : Object.Message) return String is Message : Unary_Message; Obj : Object.Reference; begin Message := Unary_Message'Value (Bounded_String.Image (The_Message)); Obj := To_Object; case Message is when Non => return (""); when Entexte => if To_Object.Identity = 0 then return ("faux"); else if To_Object.Identity = 1 then return ("vrai"); end if; end if; end case; end Send; function Send (To_Object : Object.Reference; The_Message : Object.Message) return Object.Reference is Message : Unary_Message; Obj : Object.Reference; begin Message := Unary_Message'Value (Bounded_String.Image (The_Message)); Obj := To_Object; case Message is when Non => Obj.Identity := (To_Object.Identity + 1) mod 2; when Entexte => if To_Object.Identity = 0 then Text_Io.Put ("faux"); else if To_Object.Identity = 1 then Text_Io.Put ("vrai"); end if; end if; end case; return Obj; exception when Constraint_Error => raise Error_Broadcaster.Unknown_Unary_Message; end Send; function Send (To_Object : Object.Reference; The_Message : Object.Message; The_Argument : Object.Reference) return Object.Reference is Message : Binary_Message; Obj : Object.Reference; begin Message := Binary_Message'Value (Bounded_String.Image (The_Message)); case Message is when Et => Obj.Identity := (To_Object.Identity * The_Argument.Identity); Obj.Class := Object.Tiny_Boolean; when Ou => Obj.Identity := (To_Object.Identity + The_Argument.Identity) / 2 + (To_Object.Identity + The_Argument.Identity) mod 2; Obj.Class := Object.Tiny_Boolean; end case; return Obj; exception when Constraint_Error => raise Error_Broadcaster.Boolean_Bad_Type; end Send; function Send (To_Object : Object.Reference; The_Argument : Object.Parameters.List) return Object.Reference is Obj : Object.Reference; Local_Argument : Object.Parameters.List := The_Argument; The_Message : Object.Message; begin Bounded_String.Copy (The_Message, "valeur"); if (String_Utilities.Equal (Bounded_String.Image (Object.Parameters.Selector (Local_Argument)), "siVrai:", True)) then if (To_Object.Identity = 1) then Object.Parameters.Get (Local_Argument, Obj); return (Object.Send (Obj, The_Message)); else return Object.Void_Reference; end if; elsif (String_Utilities.Equal (Bounded_String.Image (Object.Parameters.Selector (Local_Argument)), "siFaux:", True)) then if (To_Object.Identity = 0) then Object.Parameters.Get (Local_Argument, Obj); return (Object.Send (Obj, The_Message)); else return Object.Void_Reference; end if; elsif String_Utilities.Equal (Bounded_String.Image (Object.Parameters.Selector (Local_Argument)), "siVrai:siFaux:", True) then if (To_Object.Identity = 1) then Object.Parameters.Get (Local_Argument, Obj); return (Object.Send (Obj, The_Message)); elsif (To_Object.Identity = 0) then Object.Parameters.Get (Local_Argument, Obj); Object.Parameters.Get (Local_Argument, Obj); return (Object.Send (Obj, The_Message)); end if; elsif String_Utilities.Equal (Bounded_String.Image (Object.Parameters.Selector (Local_Argument)), "siFaux:siVrai:", True) then if (To_Object.Identity = 0) then Object.Parameters.Get (Local_Argument, Obj); return (Object.Send (Obj, The_Message)); elsif (To_Object.Identity = 1) then Object.Parameters.Get (Local_Argument, Obj); Object.Parameters.Get (Local_Argument, Obj); return (Object.Send (Obj, The_Message)); end if; else raise Error_Broadcaster.Unknown_Keyword_Message; end if; end Send; end Boolean_Class;
nblk1=7 nid=5 hdr6=c [0x00] rec0=24 rec1=00 rec2=01 rec3=06c [0x01] rec0=1b rec1=00 rec2=04 rec3=072 [0x02] rec0=1b rec1=00 rec2=06 rec3=02e [0x03] rec0=17 rec1=00 rec2=03 rec3=046 [0x04] rec0=18 rec1=00 rec2=07 rec3=044 [0x05] rec0=0d rec1=00 rec2=02 rec3=001 [0x06] rec0=38 rec1=40 rec2=00 rec3=020 tail 0x21530bb9684e493408e3d 0x42a00088462060003 Free Block Chain: 0x5: 0000 00 00 01 a2 80 10 2c 20 54 68 65 5f 4d 65 73 73 ┆ , The_Mess┆