1 TYPE BODY "AHL_MC_POS_STACK" as member procedure initialize is begin top := 0; position := ahl_mc_pos_detail(); position.extend(50); max_size := 50; end initialize; member function over_flow return boolean is begin return (top = max_size); end over_flow; member function under_flow return boolean is begin return (top = 0); end under_flow; member procedure push (pos in ahl_mc_pos_ref) is begin if not over_flow then top := top + 1; position(top) := pos; end if; end push; member procedure pop (pos out ahl_mc_pos_ref) is begin if not under_flow then pos := position(top); top := top - 1; end if; end pop; member procedure top_pos (pos out ahl_mc_pos_ref) is begin if not under_flow then pos := position(top); end if; end top_pos;end;
2
3