RosettaCodeData/Task/Same-Fringe/Ada/same-fringe-4.ada

24 lines
665 B
Ada
Raw Permalink Normal View History

2013-04-10 23:57:08 -07:00
package body Bin_Trees.Traverse is
task body Inorder_Task is
procedure Inorder(Tree: Tree_Type) is
begin
if not Empty(Tree) and not Stop then
Inorder(Tree.Left);
if not Stop then
Process_Data(Item => Tree.Item);
end if;
if (not Stop) then
Inorder(Tree.Right);
end if;
end if;
end Inorder;
T: Tree_Type;
begin
accept Run(Tree: Tree_Type) do
T := Tree;
end Run;
Inorder(T);
Finish;
end Inorder_Task;
end Bin_Trees.Traverse;