1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
-- This package implements a stack.
with Values; use Values;
package Stack is
Overflow : exception;
-- Raised if operation Push below is called when the stack is full.
Underflow : exception;
-- Raised if operations Pop/Top below are called when the stack is empty.
procedure Push (V : Value);
-- Pushes value onto the stack.
-- If the stack is full Stack.Overflow is raised.
function Pop return Value;
-- Pops a value off the stack and returns it. If the pop fails
-- because the stack is empty Stack.Underflow is raised.
function Empty return Boolean;
-- Returns True if the Stack is empty.
procedure Clear;
-- Empties the stack.
function Top return Value;
-- Returns the value on top of the stack. If the stack is empty
-- the exception Stack.Underflow is raised.
procedure View;
-- Prints the contents of the Stack on the screen.
-- Values are printed in the order in which they occur in the Stack.
end Stack;
|