-- A correctly-written Peh Tape is expected to produce a Verdict. -- On Unix, we will give it to the caller process via the usual means: case Verdict is -- Tape produced a Verdict of 'Yes' : when Yes => Quit(Yes_Code); -- Tape produced a Verdict of 'No' : when No => Quit(No_Code); -- Tape ran to completion without producing any Verdict at all. -- Outside of simple test scenarios, noob explorations, etc., -- this usually means that there is a logical mistake in the -- Tape somewhere, and we will warn the operator: when Mu => Achtung("WARNING: Tape terminated without a Verdict."); Quit(Mu_Code); end case; -- If the Tape aborted on account of a fatal error condition (e.g. div0) -- Peh will Quit(Sad_Code) (see E(..) in ffa_calc.adb .) -- Therefore, Peh ALWAYS returns one of FOUR possible Unix return-codes: -- -2, -1, 0, 1. (see os.ads .)