BSD 3 development
[unix-history] / usr / src / cmd / apl / documents / APL_MODS
Modifications to APL-
April, May 1978 UCSF H. Ross Harvey.
FILE DATE DESCRIPTION
---- ---- -----------
a9.c 24-Apr-78 Added I-beam 22: Workspace available
(free) in bytes.
Added I-beam 32: Escape to /bin/sh.
apl.h 27-Apr-78 Added control statements for conditional
a1.c compilation of debug code. Defining
ai.c `FULLD', or `SHORTD' will include two
aw.c levels of debugging information. The
default level is none at all. Do not
define both FULLD and SHORTD.
a1.c 29-Apr-78 Execute() now references the opnames[] table
(FULLD version only) to make the debugging
information somewhat less cryptic.
a0.c 2-May-78 Dealloc() now de-allocates variables of
type `EL'. This solves some of the
ws memory management problems.
a0.c 3-May-78 Aplmod() now preserves the ttymode bits (still
sets TECO, though). It was previously very
presumptious, turning tabs off, even parity
on (!), etc.
apl.y 11-May-78 Code for labels complete! The lexical
ai.c analyzer (yylex()+getnam()) and the
lex.c control routine for function compiles
(funcomp()) now collaborate and return
the line number (lexical value `numb')
whenever a label identifier is encountered.
An (new) initial pass picks out
labels `manually' and links them into
a list of structures which are searched
by getnam(). This list is discarded
when the function compile is complete.
aj.c 11-May-78 Replaced `&end' with `memstart' in
clear(). Memstart is set by sbrk(0)
at the beginning of main(). This was
necessary to allow independant calls
to sbrk(), spec., in the profiler.
ah.c 16-May-78 Added a command `)SYMBOLS' which prints
apl.h the namelist and item tables. This command
tab.c is valid for SHORTD or FULLD versions
only (see mods of 27-Apr-78).
ad.c 16-May-78 Modified comk() so vector/scaler will
work if the vector has one element.
This is usually allowed elsewhere in
this and other apl's.
aj.c 18-May-78 Wsload() and wssave() now buffer all
I/O operations; this cuts )LOAD and
)SAVE times by a factor of four (much
more on busy systems). Several error
messages changed.
apl.h 23-May-78 The internal stack is now allocated
apl.s (new) dynamically. All but one stack push
a0.c operations are handled as calls to the
a1.c (case NAME) machine-coded routine 'push()'. If
aj.c the operation results in an internal
an.c stack overflow, a new and larger stack
is allocated, the old stack copied over
and then freed. This mod actually
affects almost every file because each
'*sp++=expr' was changed to 'push(expr)'.
ai.c 23-May-78 Added insuate() and code to ex_fun()
to fetch function arguments before
the function is executed. This was
necessary to eliminate interactions
between formal and actual paramenters.
Previously, a recursive subroutine
which interchanged its arguments
between calls would clobber its own
actual parameters.
a0.c 25-May-78 More I beams. Added the file access
a9.c system and a shell I beam.
apl.h