Trailing-Edge
-
PDP-10 Archives
-
BB-P557A-BM_1983
-
documentation/pascal.bwr
There are 5 other files named pascal.bwr in the archive. Click here to see a list.
PASCAL.BWR -- PASCAL-20 V1
September 1983
COPYRIGHT (C) 1983 BY
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
TRANSFERRED.
THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.
DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
Warnings About PASCAL-20 V1 Page 2
1.0 KNOWN BUGS AND DEFICIENCIES
1.1 Deviations From ISO Standard
This list enumerates violations of the ISO standard (third draft)
which will not be caught by PASCAL-20. There is no plan to have
version 1 detect these violations.
Note that this list does not include extensions to the ISO standard.
See Appendix D of the TOPS-20 PASCAL Language Manual for a list of
extensions.
1. The restrictions on the relative placement of labels and GOTO
statements are not enforced.
2. Accesses to "totally-undefined" variables are not detected.
3. The requirement that every path through a function assign a
value to the function-identifier is not enforced.
4. Updating the position of a file variable during a reference
to the file's buffer variable is not detected.
5. External files may not be elements of arrays or fields of
records.
6. Modifications to the index variable of a FOR loop are not
detected. Note that the number of iterations is not affected
by any such modification.
7. File types are not permitted in the variant part of a record.
1.2 Other Bugs And Deficiencies
1. Global variable identifiers in an [OVERLAID] PROGRAM, and
[GLOBAL] or [FORTRAN] procedure and function names, must be
unique in their first six characters in order to prevent
multiply-defined symbol errors from LINK. The compiler does
not check for this, however.
2. Under certain conditions (particularly with strings), passing
a packed element of a packed structure as a parameter is done
incorrectly.
3. Named string constants are not accessible by PASDDT.
4. Doing a non-local GOTO out of a recursively-called procedure,
where the destination of the GOTO is not in the main program,
may produce unexpected results.
Warnings About PASCAL-20 V1 Page 3
5. For the predeclared file OUTPUT, executing an OPEN statement
with the CARRIAGE parameter has no effect.
6. If a field of a record is an unpacked array, accessing an
element of the array using a variable index and a WITH
statement may not work.
2.0 MANDATORY PATCHES FOR RELATED PRODUCTS
None.
3.0 KNOWN BUGS IN RELATED PRODUCTS
3.1 LOAD-class Command Switches In TOPS-20 EXEC
1. The LOAD-class commands in the TOPS-20 EXEC (i.e. Compile,
Load, Execute, Debug) take a number of switches. Switches
starting with "NO" (e.g. /NOWARNINGS) are not passed to the
compiler by the EXEC. For any of these switches to have
effect, the compiler must be run directly, or they must be
specified as arguments to /LANGUAGE-SWITCHES: (e.g.
/LANGUAGE-SWITCHES:"/NOWARNINGS").
2. The /LIST switch in the EXEC has a default device of LPT:.
There is no way to override that default. Due to an RMS bug
this causes a fatal error unless the logical name LPT: is
defined as a disk structure.
3.2 Writing To Spooled Devices
If RMS attempts to open a spooled device (e.g. LPT:) it does not
realize that this is really a disk file, and will fail. This can be
worked around by @DEFINEing the device name as a disk structure.
Example:
@DEFINE LPT: DSK:
[End of PASCAL.BWR]