45 lines
2.7 KiB
Text
45 lines
2.7 KiB
Text
% the Algol W standard environment includes the following standard variables: %
|
|
|
|
integer I_W % field width for integer output %
|
|
integer R_W % field width for real output %
|
|
integer R_D % number of decimal places for real output %
|
|
string(1) R_FORMAT % format for real output:
|
|
S - "scaled" normalised mantissa with exponent
|
|
A - "aligned" fixed point format
|
|
F - "free" either scaled or aligned as appropriate
|
|
for the value and field width
|
|
%
|
|
integer S_W % separator width - number of spaces following non-string output items %
|
|
integer MAXINTEGER % largest integer value %
|
|
real EPSILON % largest positive real number such that 1 + epsilon = 1 %
|
|
long real LONGEPSILON % largest positive long real number such that 1 + longepsilon = 1 %
|
|
long real MAXREAL % largest real number %
|
|
long real PI % approximation to pi %
|
|
|
|
% the following reference(EXCEPTION) variables control how errors are handled:
|
|
ENDFILE - end-of-file
|
|
OVFL - overflow
|
|
UNFL - underflow
|
|
DIVZERO - division by zero
|
|
INTOVFL - integer overflow
|
|
INTDIVZERO - integer division by zero or modulo 0
|
|
SQRTERR - invalid SQRT parameter
|
|
EXPERR - invalid EXP parameter
|
|
LNLOGERR - invalid LN or LOG parameter
|
|
SINCOSERR - invalid SIN or COS parameter
|
|
|
|
The EXCEPTION record is defined as follows:
|
|
|
|
record EXCEPTION( logical XCPNOTED - true if the exception has occurred
|
|
; integer XCPLIMIT - number of times the exception can occur
|
|
before the program terminates
|
|
, XCPACTION - if the program continues, controls how to
|
|
replace the erroneous value
|
|
; logical XCPMARK - true if an error message should be printed
|
|
even if the program continues
|
|
; string(64) XCPMSG - message to describe the exception
|
|
)
|
|
|
|
if the relevant EXCEPTION variable is null, the exception is ignored,
|
|
otherwise it is processed according to the settings of XCPLIMIT etc.
|
|
%
|