|
|
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, procedure Mb_Test, seg_03c5a9, seg_03c68f, seg_03c9c4, seg_04a997, seg_04b405
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Text_Io;
with Mb_Kbs;
with Mb_Frames;
with Mb_Do_Action;
with Slot;
use Mb_Kbs;
use Mb_Frames;
procedure Mb_Test is
procedure Infere is new Kbs.Rule_Base.Infere_With_Conflict_Set
(Retrieve => Kbs.Retrieve,
Do_Action => Mb_Do_Action);
---------------------------------------------------------------------
type Response_Type is range 0 .. 21;
package Response is new Text_Io.Integer_Io (Response_Type);
The_Response : Response_Type := 1;
---------------------------------------------------------------------
procedure Handle_Choice (The_Response : Response_Type) is
begin
case The_Response is
when 0 =>
null;
when 1 =>
Testcase.Add ((Goal_Type => General,
Name => Slot.Value ("start")));
when 2 =>
Testcase.Add ((Goal_Type => General,
Name => Slot.Value ("on_ladder")));
when 3 =>
Testcase.Add ((Goal_Type => Goal_On,
Name => Slot.Value ("on_floor")));
when 4 =>
Testcase.Add ((Goal_Type => Goal_On,
Name => Slot.Value ("on_floor_satisfied")));
when 5 =>
Testcase.Add ((Goal_Type => Goal_On,
Name => Slot.Value ("on_phys_object")));
when 6 =>
Testcase.Add ((Goal_Type => Goal_On,
Name => Slot.Value ("on_phys_object_holds")));
when 7 =>
Testcase.Add ((Goal_Type => Goal_On,
Name => Slot.Value
("on_phys_object_at_monkey")));
when 8 =>
Testcase.Add ((Goal_Type => Goal_On,
Name => Slot.Value
("on_phys_object_satisfied")));
when 9 =>
Testcase.Add ((Goal_Type => Goal_Holds,
Name => Slot.Value ("holds_nil")));
when 10 =>
Testcase.Add ((Goal_Type => Goal_Holds,
Name => Slot.Value ("holds_nil_satisfied")));
when 11 =>
Testcase.Add ((Goal_Type => Goal_Holds,
Name => Slot.Value ("holds_object_ceil")));
when 12 =>
Testcase.Add ((Goal_Type => Goal_Holds,
Name => Slot.Value
("holds_object_ceil_at_obj")));
when 13 =>
Testcase.Add ((Goal_Type => Goal_Holds,
Name => Slot.Value
("holds_object_not_ceil_on_ladder")));
when 14 =>
Testcase.Add ((Goal_Type => Goal_Holds,
Name => Slot.Value
("holds_object_not_ceil_at")));
when 15 =>
Testcase.Add ((Goal_Type => Goal_Holds,
Name => Slot.Value ("holds_object_satisfied")));
when 16 =>
Testcase.Add ((Goal_Type => Goal_At,
Name => Slot.Value ("at_monkey")));
when 17 =>
Testcase.Add ((Goal_Type => Goal_At,
Name => Slot.Value ("at_monkey_object")));
when 18 =>
Testcase.Add ((Goal_Type => Goal_At,
Name => Slot.Value ("at_monkey_on")));
when 19 =>
Testcase.Add ((Goal_Type => Goal_At,
Name => Slot.Value ("at_object")));
when 20 =>
Testcase.Add ((Goal_Type => Goal_At,
Name => Slot.Value ("at_object_on_floor")));
when 21 =>
Testcase.Add ((Goal_Type => Goal_At,
Name => Slot.Value ("at_object_holds")));
end case;
end Handle_Choice;
begin
loop
Mb_Kbs.Kbs.Fact_Base.Working_Memory.Make_Empty;
Text_Io.New_Line;
Text_Io.Put_Line
("Choisissez une configuration de depart [1..21] (0 -> Quit)");
declare
begin
Response.Get (The_Response);
Handle_Choice (The_Response);
Infere;
exception
when Constraint_Error =>
Text_Io.Put_Line ("Mauvais choix !! Recommencez...");
end;
exit when The_Response = 0;
end loop;
end Mb_Test;
nblk1=7
nid=6
hdr6=a
[0x00] rec0=23 rec1=00 rec2=01 rec3=032
[0x01] rec0=13 rec1=00 rec2=04 rec3=052
[0x02] rec0=13 rec1=00 rec2=03 rec3=034
[0x03] rec0=13 rec1=00 rec2=02 rec3=02c
[0x04] rec0=1e rec1=00 rec2=07 rec3=000
[0x05] rec0=01 rec1=00 rec2=04 rec3=001
[0x06] rec0=14 rec1=00 rec2=00 rec3=01e
tail 0x2173ac69885b167586197 0x42a00088462063c03
Free Block Chain:
0x6: 0000 00 05 03 fc 80 03 20 3d 3e 03 00 34 20 20 20 20 ┆ => 4 ┆
0x5: 0000 00 00 00 1c 00 19 20 20 20 20 20 20 20 20 20 20 ┆ ┆