The Ada Program: generic_stack.ads
1 -- generic_stack.ads: Ada generic package specification for stack
2
3 generic
4 Stack_Size: in Integer;
5 type Item_Type is private;
6
7 package Generic_Stack is
8
9 type Stack_Type is private;
10 procedure Push (Item: in Item_Type; Stack: in out Stack_Type);
11 procedure Pop (Item: out Item_Type; Stack: in out Stack_Type);
12
13 private
14 type Item_List_Type is array (1 .. Stack_Size) of Item_Type;
15
16 type Stack_Type is
17 record
18 Top : Integer range 0 .. Stack_Size := 0;
19 Elements : Item_List_Type;
20 end record;
21
22 end Generic_Stack;