perm filename REISER.MSG[UOR,AIL] blob
sn#248619 filedate 1976-11-24 generic text, type T, neo UTF8
John:
All the files from the compiler and runtimes which have
been changed at Rochester have been moved back to the AI-Lab to
UOR,AIL. Look at the files IT[UOR,AIL] and RUN[UOR,AIL] to
infer what files are involved. You can of course also just
look at the directory of UOR,AIL as we have not sent back any files
which we did not alter. No changes have been made (or are
anticipated) to BAIL. Changes to PROFIL
will be sent shortly. The file UORFIX.BUG contains a list of the
changes we have made. Besides bug fixes and things local to the
U of R (such as the fact that we use teletype RAID) there are the
following additions:
1). Two character operators-
:= for ←
>= for GEQ
<= for LEQ
** for ↑
This was done by some special casing in SYM. Currently this
addition has been placed under the UOR switch. It might be
reasonable to remove the UOR conditional around this addition.
2). REQUIRE OVERLAP!OK;
This will cause suppression of the
WARNING ITEM OVERLAP
message when the program begins execution.
The changes introduced to the compiler are fully upward
compatible. No program that was compiled before this
would have to be recompiled.
RUNTIME: One XX variable $$LNOWARN has been
added to GOGOL. To defer having to make a new version you could
place $$LNOWARN (in GOGOL) and all the references to it ( In
LEPRUN) under the HACK switch.
3). REQUIRE VERIFY!DATUMS;
Generates code to check the dat-types of items at runtime when
they are used with DATUM (two extra instructions are executed per
DATUM).
Fully upward compatible with old compiler.
RUNTIME: routine $$DERR has been added. To defer new version
place $$DERR under a HEREFK.
4). BIG LEAP, new hash, item allocation in decreasing order. This
is totally under URLEAP and URHASH switches. User sees this
only in that he can now have
REQUIRE n NEW!ITEMS;
with n greater than 4K.
No changes have been made to the compiler at all.
If URLEAP and URHASH are off then there is no difference in the
runtime. If the switches are on the several user table entries
and XX variables have been allocated. URSTAT should not normally
be on.
Note:
We have attempted to make the new LEAP compatible with the
GLOBAL model users. But there is currently a bug in that
GLOBAL model leap tries to allocated 512K of table space.
Considering only 128k is available in the unshared segment
you have to admit that that is a neat trick. this bug should
be fixed in the next couple of weeks. until then
no GSGMNT should be made unless URLEAP is off (URHASH is ok).
5). A rather pernicious lack of error detection has been discovered.
PROCEDURE X(REFERENCE INTEGER ITEMVAR Q);
BEGIN
END;
INTEGER Z;
X(Z);
does not give an error message.
One feeble attempt to correct this was placed in STATS but the
fix caused procedures such as ARRYIN and ARRBLT to complain.
The attempted bug fix has been IFN'd out. We will continue
to try to find a general fix.
Minor notes:
1. If looks to me that for symmetry reasons TYMSHR switch should
be included in the macro NODEC in HEAD.
2. Parts list of TELLEM should include BAIPDn
3. APPENDIX II of TELLEM should
include
BSM1HD.FAI and BAIPDn.FAI
4. The file TYPEIT.HDR should be included in the group of files
needed for the LEAP dumping routines (LPREAD,LPDUMP etc)
for the distribution tape. Probably all these should be
moved to X,AIL. In the next couple of weeks I'll send you a
note when I believe the versions on UOR,AIL are good.
Jerry talked with some people at NIH last week about the future
of SAIL maintainence. He showed me the note you sent them.
Could you please keep us informed as to what the AI-Labs
plans are when you leave.
If you have any questions about any of the above please send
me a note at SUMEX. We do not yet have a MAIL server at Rochester.
Jim Low