Google
 

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]