" Require parentheses"
This check box controls whether parentheses are mandatory in all function and procedure calls and after
the program name. In Pascal parentheses are not normally used when calling or declaring functions or
procedures with no parameters. So for example in the following statement:
a := b;
it is not clear whether b is a function that takes no parameters or whether b is a variable. When mandatory
parentheses mode is enabled then parentheses are required when declaring or calling all functions and
procedures even those with no parameters. Parentheses are also required after the program name even if
there are no program parameters.
" Non-standard unary operators"
This check box controls whether the compiler handles the unary plus and unary minus operators in a non-
standard way (i.e. different from the way specified by Standard Pascal). The compiler will allow the
unary plus and unary minus operators to appear before any numeric operand, and their precedence is
higher than any other operator.
" Open temp file if no name assigned"
Normally, if you open a file variable, of text type, without first assigning it a name, then the file variable
will become associated with the the standard input stream or the standard output stream, depending on
whether you are opening the file variable for reading or writing. In which case reading from the file
variable will read from the standard input stream, and writing to the file variable will write to the standard
output stream.
When this check box is checked and you open a file variable, of text type, without first assigning it a
name, then the file variable will become associated with a temporary disk file and not the standard input
stream or the standard output stream.
NOTE: Opening a file variable, that is not of text type, without first assigning it a name, will always
associated the file variable with a temporary disk file, regardless of whether this check box is checked.
" Compatibility mode (with version 2.0)"
This check box controls whether the compiler is in version 2.0 compatibility mode. When you compile
your program with the compiler in this mode, your program should behave in the same way it did when
compiled with verions 2.0 or 2.1 of the compiler. Compatibility with versions earlier than 2.0 is not
guaranteed.
In this version of the compiler the only effect of version 2.0 compatibility mode, is to make the compiler
continue to incorrectly treat sets of subrange types as if they were sets of the subrange's host type. So for
example
set of 0..1
is treated like
set of integer
which in this case will affect how values of the set are represented. Normally your program is not affected
by the way set values are represented, however if your program stores set values in data files then the