|
|
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: 5120 (0x1400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Balls_Boxes_Stickers_Actions, seg_00e35f
└─⟦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;
with Ball, Box, Sticker;
package body Balls_Boxes_Stickers_Actions is
procedure Pack_It_Action (The_Tuple : Tuple.Object) is
A_Ball : Ball.Object;
A_Box : Box.Object;
A_Sticker : Sticker.Object;
begin
A_Ball := Tuple.First (The_Tuple);
A_Box := Tuple.Second (The_Tuple);
A_Sticker := Tuple.Third (The_Tuple);
Ball.Change (A_Ball, With_Place => Ball.Is_In_Box);
Box.Change (A_Box, With_State => Box.Is_Full);
Sticker.Change (A_Sticker, With_State => Sticker.Is_Used);
Put_Line ("Rule PACK_IT : ball (" &
Ball.Colors'Image (Ball.Color (A_Ball)) & "/" &
Natural'Image (Ball.Size (A_Ball)) & ") in box (" &
Natural'Image (Box.Size (A_Box)) & ")");
end Pack_It_Action;
procedure Sticker_Lack_Action (The_Tuple : Tuple.Object) is
A_Ball : Ball.Object; begin
A_Ball := Tuple.First (The_Tuple);
Ball.Change (A_Ball, With_Place => Ball.Is_In_Box);
Put_Line ("Rule STICKER_LACK : there are no stickers left with color " &
Ball.Colors'Image (Ball.Color (A_Ball)));
end Sticker_Lack_Action;
procedure Box_Lack_Action (The_Tuple : Tuple.Object) is
A_Ball : Ball.Object;
begin
A_Ball := Tuple.First (The_Tuple);
Ball.Change (A_Ball, With_Place => Ball.Is_In_Box);
Put_Line
("Rule BOX_LACK : there are no boxes left with size greater then " &
Natural'Image (Ball.Size (A_Ball)));
end Box_Lack_Action;
procedure Too_Big_Action (The_Tuple : Tuple.Object) is
A_Ball : Ball.Object;
begin
A_Ball := Tuple.First (The_Tuple);
Ball.Change (A_Ball, With_Place => Ball.Is_In_Box);
Put_Line ("Rule TOO_BIG : the " &
Ball.Colors'Image (Ball.Color (A_Ball)) & " ball with size " &
Natural'Image (Ball.Size (A_Ball)) & " is too BIG");
end Too_Big_Action;
end Balls_Boxes_Stickers_Actions;
nblk1=4
nid=0
hdr6=8
[0x00] rec0=1c rec1=00 rec2=01 rec3=002
[0x01] rec0=01 rec1=00 rec2=04 rec3=006
[0x02] rec0=18 rec1=00 rec2=02 rec3=09a
[0x03] rec0=05 rec1=00 rec2=03 rec3=000
tail 0x2170afe18821d7d0b86f5 0x42a00088462063c03