-- This is the generic specification for a stack abstract object. generic Size : Positive; type ItemType is private; package Stack is Stack_Empty, Stack_Full : exception; function isEmpty return Boolean; function isFull return Boolean; procedure Push (Item : ItemType); procedure Pop; function Top return ItemType; end Stack;