|
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: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Class_Block, seg_033089
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Bounded_String; package body Class_Block is Ghost : Object.Reference; function Send (This_Message : Object.Keyword; To : Object.Reference) return Object.Reference is Mess : Object.Keyword := This_Message; Ident : Object.Unary := Block.Get_Ident (Table (Object.Get (To)).Node); begin Object.Init (This => Mess); Object.Init (This => Ident); while not Object.Is_Done (This_Message) loop Block.Put_Table (This_Object => Object.Get (Mess), Named => Object.Get (Ident), Into => Table (Object.Get (To)).Node); Object.Next (Mess); Object.Next (Ident); end loop; return Block.Interpret (N => Table (Object.Get (To)).Node); end Send; function Send (This_Message : Object.Binary; To : Object.Reference) return Object.Reference is begin return Object.Void_Reference; end Send; function Send (This_Message : Object.Unary; To : Object.Reference) return Object.Reference is type Message is (En_Texte, Valeur); Token : Message; package Bs renames Bounded_String; begin if Bs.Length (Object.Get (This_Message)) /= 0 then begin Token := Message'Value (Bs.Image (Object.Get (This_Message))); case Token is when En_Texte => return To; when Valeur => return Block.Interpret (N => Table (Object.Get (To)).Node); end case; exception when Constraint_Error => return Object.Void_Reference; end; end if; end Send; function Create (Node : Block.Node := Block.Empty_Node) return Object.Reference is use Object; begin Last := Last + 1; Table (Last).Node := Node; return Object.Create (Class => Object.Block_Class, Object => Last); end Create; function How_Many return Object.Index is begin return Last; end How_Many; begin Ghost := Create (Block.Get_Current_Node); end Class_Block;
nblk1=5 nid=2 hdr6=8 [0x00] rec0=1d rec1=00 rec2=01 rec3=01c [0x01] rec0=01 rec1=00 rec2=04 rec3=012 [0x02] rec0=1e rec1=00 rec2=03 rec3=00a [0x03] rec0=11 rec1=00 rec2=05 rec3=000 [0x04] rec0=80 rec1=00 rec2=00 rec3=100 tail 0x2152bbb7884cd44b4b7d9 0x42a00088462060003 Free Block Chain: 0x2: 0000 00 00 00 2c 80 10 20 20 65 6e 64 20 47 65 74 5f ┆ , end Get_┆