You've already forked gnatstudio
mirror of
https://github.com/AdaCore/gnatstudio.git
synced 2026-02-12 12:42:33 -08:00
37 lines
999 B
Ada
37 lines
999 B
Ada
|
|
-- 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;
|