Trailing-Edge - PDP-10 Archives - bb-bt99g-bb - alg10b.d08
There are 2 other files named alg10b.d08 in the archive. Click here to see a list.
                 EDIT DESCRIPTIONS FOR ALGOL-10-V10B                            
                             EDIT 347    FOR ALGOL
If the user tries to use the COPY procedure to copy nonexistant  bytes
past  the  end-of-string,  COPY  returns  the  last byte in the string
instead of a null string.
Default parameters are set up incorrectly  in  COPY.   There  is  some
confusion  created  by  the variable number of arguments that COPY can
Set up default parameters correctly.  If the  user  attempts  to  copy
bytes past the end of the string, return a null string.
                             EDIT 350    FOR ALGOL
If an expression is too long, ALGOL issues a  warning  and  continues.
The resultant .REL file is corrupt and the program will not run.
The error "EXPRESSION TOO LONG" was meant to be a fatal error,  not  a
warning.   If  ALGOL  issues  this  message,  the  user  must  use the
/TEMPCODE:n switch to the compiler  to  increase  the  tempcode  space
above the default value (256 decimal).
Change the EXPRESSION TOO LONG error to be fatal, not just a warning.
                             EDIT 351    FOR ALGOL
Programs die unexpectedly with memory managment  problems.   The  heap
integrity checker complains about a foulup.
WRITE improperly deletes all dynamic simple string expressions.   When
these  strings  are  returned to the free-space list, the list becomes
corrupt.  Procedures LENGTH, SIZE and  CONCAT  also  exhibit  problems
with improperly deleting strings.
Teach WRITE, LENGTH, SIZE, and CONCAT to  not  delete  dynamic  simple
string  expressions unless the actual string is dynamic and the result
of a procedure.
                             EDIT 352    FOR ALGOL
User program works with /CHECKON but gets an illegal memory  reference
Incorrect code is sometimes generated by the compiler  when  /CHECKOFF
is  specified.   In particular, expressions nested several levels deep
in procedures and involving formals which are  multi-dimensional  LONG
REAL arrays will use conflicting accumulators.
Just before allocating an  accumulator,  check  if  a  conflict  might
occur.   If  it  might, change LAC (last accumulator allocated) so the
accumulator  loading/allocating  procedure  will  properly  assign   a