procedure Push(X : in Integer)
with
Global => (In_out => (S, Pointer)),
Depends => (S => (S, Pointer, X),Pointer => Pointer)
;
procedure Pop(X : out Integer)
with
Global => (Input => S,
in_out => Pointer),
Depends => (Pointer => Pointer,
X => (S, Pointer));