Google
 

Trailing-Edge - PDP-10 Archives - AP-D608C-SB - alg10a.doc
There is 1 other file named alg10a.doc in the archive. Click here to see a list.


ALGOL.DOC -- Version 10A(145)
January 1978






























COPYRIGHT (C) 1978 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 A 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 THAT IS NOT SUPPLIED BY DIGITAL.
ALG10A.DOC                                                      Page 2


ALG10A.DOC -- Version 10A(145)
January 1978



1.0  SUMMARY.

This is a maintainance  release  of  DECsystem-10  Algol  intended  to
include all bug-fixes made since version 10(741), both those published
in the Software Dispatch and those  reported  to  us  through  non-SPR
channels.

In addition individual users have made suggestions for enhancements to
ALGDDT  which we have implemented for this release.  This results in a
small change in funtionality although not sufficient to  merit  a  new
version   number.   These  improvements  include  an  enhanced  UNWIND
command, a RETRY command, additions to the PAUSE command and  improved
control  C handling.  Most of these are documented in the programmer's
guide, which was prepared with this release in mind.

The changes made for  this  version  will  not  effect  the  operating
environment requirements given for version 10(741).



2.0  EXTERNAL CHANGES.

The following changes will be noticed by the user in 10A(145):

     1.  The  documentation  lists  the   three   library   procedures
         RAND,ONTRACE  &  OFFTRACE, this is a documentation error, the
         procedures being correctly  called  RAN,TRACEON  &  TRACEOFF.
         However since users have not complained about this before and
         have presumably adapted to the error, both spellings will now
         have  the  correct  effect  (rendering  all  current programs
         compatable).

     2.  If an identifier is undeclared or misused, its spelling  will
         now  be  included in the error message.  It is felt this will
         be particularly useful when a listing is not being  generated
         and only the error meassages appear on the terminal.

     3.  The library procedures READ and INLINE will now recognise  an
         EOF  as  an  LF, and treat it as a terminator to input in any
         circumstance where a LF would do so (before, encountering  an
         EOF would result in a run-time error).

     4.  The library procedure READ now no longer throws away the byte
         immediately following a quoted string.

     5.  The ALGDDT command RETRY as documented  in  the  programmer's
         guide is now implemented.

     6.  The ALGDDT command PAUSE is now fully implemented, as per the
         programmer's guide.
ALG10A.DOC                                                      Page 3


     7.  Enhanced ALGDDT command UNWIND.

         the UNWIND command has been  extended  to  know  about  block
         levels  within  procedures  as  well  as the procedure levels
         themselves.  The new command format is  as  follows:   UNWIND
         Same as BACK - return to original context

         UNWIND n       Change to dynamic procedure level <n>
         UNWIND n.m     Change to dynamic proc.  level <n>  and  block
                        level <m>
         UNWIND -n      Change by <n> procedure levels.
         UNWIND -.m     Change by <m> block levels.
         UNWIND 0       Change to outermost block

         The WHERE command has  also  been  extended  to  include  the
         additional information required by this extension.

     8.  The OTS no longer enables for trapping UUO or QUOTA exhausted
         errors,  and  the  monitor  should  produce error messages if
         either occur.



3.0  KNOWN BUGS AND DEFICIENCIES.

     1.  The library procedures OPENFILE,INPUT & OUTPUT will not  work
         correctly  if passed a dynamic string as an actual parameter;
         that is a string procedure or  a  string  that  is  itself  a
         formal.  Doing so results in a runtime error.

     2.  Interrupting a program that is performing a monitor call with
         a  control  C  can sometimes result in an immediate return to
         monitor level instead of invoking ALGDDT.  In this  case  the
         user  should  type  CONTINUE  which  will enter ALGDDT in the
         correct manner.

     3.  Edit 776 published as an answer to SPR #10797 claimed to  fix
         a  problem  of bad code generation using embedded assignments
         to long real arrays.  We have since found that  this  is  not
         the  case  and  have  not included this edit in this release.
         Until we can fix this problem  properly  we  recommend  users
         avoid using embedded assignments to long real arrays.



4.0  INSTALLATION INSTRUCTIONS.

The batch command file ALGOL.CTL contains all  the  details  necessary
for  building  ALGOL  version  10A.   The files ALGOL.SHR, ALG145.SHR,
ALGLIB.REL and ALGDDT.HLP should be put on SYS:.   It  is  recommended
that installations using .EXE files should convert them before use.
ALG10A.DOC                                                      Page 4


5.0  INTERNAL CHANGES.

There now follows the list of edits included in version  10A.   Please
note  that  with  edit  #777 ALGOL used up the supply of 3 digit octal
edit numbers allocated to it.  All subsequent edits will  be  numbered
as  if  old edit #635 = #001 so as to bring the edit numbers into line
with those for DECsystem-20 ALGOL.  Therefore all edits after 635 have
been  renumbered in the sources for 10A, and all references to earlier
edit numbers removed.  Four digit edit numbers are fixes  to  problems
or enhancements not originating from an SPR.

EDIT #

#742      10-10777    Make ALGDDT PAUSE on labels work correctly

#743      None        Make READ ignore LF after CR.

#744      10-107778   Exponentiation  caused   incorrect   code   with
                      sufficiently complex operands.

#745      10-10794    Make  ALGOL  call  itself  version  10  and  not
                      version 8.

#746      None        Don't make REDIRECTed files unecessarily large.

#747      None        Fix certain cases of GOTO command in ALGDDT.

#750      None        Fix to control C trapping.

#751      None        Fix to ALGDDT NEXT command.

#752      None        Ignore breakpoints if already in ALGDDT.

#753      10-22610    Make compiler  command  scanner  ignore  leading
                      spaces.

#754      None        Use compiler version number as  program  version
                      number.

#755      10-22013    Stop  programs  generating  un-  defined  global
                      symbol %ALGDR.

#756      10-22677    Make programs linked with  /OTS:NONSHARE  switch
                      work correctly

#757      10-10783    Fix overflow in routine LEXP.

#760      10-23180    Make INPUT and OUTPUT not always take the  error
                      return if an error label was specified.

#761      10-10789    Make   the   body   of   a   FOR   statement   a
                      block..b1;.i-22  #762  10-10792  Report  correct
                      channel number when giving EOF error message.

#763      None        Enhanced UNWIND command & various minor fixes.
ALG10A.DOC                                                      Page 5


#764      10-10791    Compile time folding of floating point constants
                      generates incorrect code.

#765      10-10793    Give EOF error when READing from empty strings.

#766      10-10787    Make I/O to TTY on channels 0 & 1 work.

#767      10-10789    Make DELETE deal with strings properly.

#770      10-22806    Compiler crash with TTY input lines longer  than
                      80 characters.

#771      10-10799    Fix  certain  differences  between  TTY  I/O  on
                      channel -1 and the others.

#772      10-10800    ALGOTS could get into a loop when called with an
                      undefined string.

#773      10-10802    Fix compiler crash when real number present in a
                      declaration.

#774      10-23307    Fix compiler looping with certain  mis-  spelled
                      keywords.

#775      10-10805    Stop  ALGDDT  trying   to   echo   on   non-echo
                      terminals.

#776      10-10797    *** Please see section 3.0 ***

#777      10-23923    Make the automatic DUMP after run-time error  in
                      BATCH not give IMRs.

#144      10-10808    An  external  recursive  procedure   call   with
                      /PRODUCTION switch caused incorrect code.

#145      10-10812    Give EOF the status of a terminator to READ  and
                      INLINE

#1000     None        Fix  several  problems  concerning   control   C
                      interrupting   running   programs  and  entering
                      ALGDDT.

#1001     None        Include   improperly    used    or    undeclared
                      identifiers in compiler error messages.

#1003     None        Fix certain cases of the NEXT command in  ALGDDT
                      not working correctly.

#1004     None        Enhance Edit #645 to  prevent  compiler  looping
                      with absent or incorrect procedure names.

#1005     None        In certain cases very long source  lines  caused
                      compiler crash.

#1006     None         Certain sequences of delimeters in QUOTED  mode
ALG10A.DOC                                                      Page 6


                      caused compiler crash.

#1007     None        Improve ALGDDT  response  to  inter-  rupting  a
                      running  program when it is performing a monitor
                      call ( see section 3 ).

#1010     None        Make the I/O  operations  ignore  nulls  at  the
                      start  of a buffer.  Before this could result in
                      a loss of characters.

#1011     None        Establish aliases for RAN,TRACEON &  TRACEOFF  (
                      see section 2 ).

#1012     None        Clear output buffer if SELECTOUPUT away from the
                      TTY.

#1013     None        DECsystem-20 version only.

#1014     None        ALGOTS no longer  traps  QUOTA  exceeded  &  UUO
                      errors ( see section 2 ).

#1015     None        NEXTBYTE used to  give  incorrect  results  with
                      some dynamic actual parameters.

#1016     None        Not used.

#1017     None        Stop procedure READ losing  the  next  character
                      after a quoted string ( see section 2 ).



6.0  SUGGESTIONS

None.



[End of ALG10A.DOC]