On 1/14/25 16:50, Van Snyder via cctalk wrote:
On Wed, 2025-01-15 at 00:32 +0000, Chuck Guzis via
cctalk wrote:
I have the 1401 FORTRAN-II compiler. I reverse engineered it from
operational tapes, then the author (Gary Mokotoff) sent me a scan of
his listings, that he thought he lost when he retired. My reverse-
engineered code has far more comments. It works in an interesting way:..
I remember running 1620 card FORTRAN. It sounds much like the 1401
version (no surprise). You first read in the compiler, then the source
program; an intermediate deck is punched. The second pass of the
compiler is then read in, followed by the intermediate deck punched in
pass 1, then any subroutine decks.
My recollection is that the precision could be specified by the user;
integers could be up to 10 digits and floating mantissas could be up to
28 digits in length. An interesting feature was that subroutines were
not required to have the same precision as the main program.
It was a fairly time-consuming process and program errors set the whole
process back to square 1.
IBM, realizing the essence of "cumbersome", produced a companion
product, called GOTRAN, where the compiler/runtime remained resident and
source statements were compiled into an intermediate form and executed
interpretively. Of course, execution was slower and the language was
simpler (e.g. the FORMAT statement was omitted).
--Chuck