|
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 Ne_Robot, seg_00e379
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Expertsystem; use Expertsystem; package body Ne_Robot is package Behavior is new Classbehavior (Object, "ROBOTS ", 10); function All_Robots return Collection.Object is begin return Behavior.Instances; end All_Robots; -------------------------- function Anciennete return Integer is begin Num_Anc := Num_Anc + 1; return Num_Anc; end Anciennete; -------------------------- procedure Modifieranc (Unrobot : Reference; Val : Integer) is Unrob : Object; begin Unrob := Behavior.Get (Unrobot); Unrob.Anc := Val; Behavior.Set (Unrobot, Unrob); end Modifieranc; --------------------------- function Plus_Ancien (R, Any : Reference) return Boolean is begin return Behavior.Get (R).Anc < Behavior.Get (Any).Anc; end Plus_Ancien; function Le_Plus_Ancien is new Collection.Themost (Plus_Ancien); function Un_Plus_Ancien_Robot (R : Reference) return Boolean is begin return Behavior.Get (R).Anc = Behavior.Get (Le_Plus_Ancien (Behavior.Instances)).Anc; end Un_Plus_Ancien_Robot; -------------------------- function Peutprendre (R : Reference) return Boolean is begin return Behavior.Get (R).Tache = Prendre; end Peutprendre; function Peutdeposer (R : Reference) return Boolean is begin return Behavior.Get (R).Tache = Deposer; end Peutdeposer; function Tientbrique (R : Reference) return Boolean is begin return Behavior.Get (R).Pinceoccupee; end Tientbrique; function Nom (R : Reference) return Tnom is begin return Behavior.Get (R).Nom; end Nom; function Numeroboite (R : Reference) return Tcase is begin return Behavior.Get (R).Boite; end Numeroboite; function Derniereboite return Tcase is begin Numerocourant := Numerocourant + 1; return Numerocourant - 1; end Derniereboite; procedure Creer is begin Behavior.Allocate (Object'("Robot No 1", 1, Prendre, False, 0)); Behavior.Allocate (Object'("Robot No 2", 1, Prendre, False, 0)); Put (" Nb robots : "); Put (Behavior.Cardinality); Put_Line (" "); end Creer; procedure Modifierpince (R : Reference; B : Boolean) is Unrobot : Object; begin Unrobot := Behavior.Get (R); Unrobot.Pinceoccupee := B; Behavior.Set (R, Unrobot); end Modifierpince; procedure Modifiertache (R : Reference; A : Ttache) is Unrobot : Object; begin Unrobot := Behavior.Get (R); Unrobot.Tache := A; Behavior.Set (R, Unrobot); end Modifiertache; procedure Modifierboite (R : Reference; C : Tcase) is Unrobot : Object; begin Unrobot := Behavior.Get (R); Unrobot.Boite := C; Behavior.Set (R, Unrobot); end Modifierboite; procedure Sesuicide (R : Reference) is begin Behavior.Dispose (R); end Sesuicide; end Ne_Robot;
nblk1=5 nid=0 hdr6=a [0x00] rec0=25 rec1=00 rec2=01 rec3=00e [0x01] rec0=00 rec1=00 rec2=05 rec3=008 [0x02] rec0=24 rec1=00 rec2=02 rec3=008 [0x03] rec0=20 rec1=00 rec2=03 rec3=012 [0x04] rec0=0e rec1=00 rec2=04 rec3=001 tail 0x2170b02ca821d7eddaae0 0x42a00088462063c03