Trailing-Edge
-
PDP-10 Archives
-
ap-5069c-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]