MODULE Stack;
EXPORT Push,Pop,Empty;
CONST Size = 30;
TYPE Task = RECORD Low,High : CARDINAL END;
VAR S : ARRAY [0..Size] OF Task;
t : [0 .. Size];
PROCEDURE
Push(a,b:CARDINAL);
BEGIN t := t + 1; S[t].Low := a; S[t].High := b;
END Push;
PROCEDURE Pop(VAR
a,b:CARDINAL);
BEGIN a:=S[t].Low; b:=S[t].High; t:=t-1
END Pop;
PROCEDURE
Empty():BOOLEAN;
BEGIN RETURN t = 0
END Empty;
BEGIN t :=
0
END Stack;