Looking for fortran IV compiler

23 views
Skip to first unread message

hadimahrina

unread,
Jul 19, 2010, 11:15:40 PM7/19/10
to Fortran
Hi all,

I am new here.
I am looking for fortran IV compiler, does anyone still have it?

And I also have problem by converting PUNCH into fortran 77 format,
can you help me?

Thanks

e p chandler

unread,
Jul 22, 2010, 9:40:44 PM7/22/10
to Fortran

On Jul 19, 11:15 pm, hadimahrina <hadi.mahr...@gmail.com> wrote:
> Hi all,
>
> I am new here.
> I am looking for fortran IV compiler, does anyone still have it?

A Fortran 77 or later compile will compile almost all of FORTRAN IV.

If you really do need FORTRAN IV, then find an emulator and software
for an IBM 360 (like Hercules).

> And I also have problem by converting PUNCH into fortran 77 format,
> can you help me?

Is PUNCH the name of a computer language or do you mean punched cards?

-- elliot

Whoopie, I can post now!

John H. Lindsay

unread,
Jul 22, 2010, 9:55:17 PM7/22/10
to fort...@googlegroups.com

There are a few semi-device specific I/O statements that were carried
forward from FORTRAN II into various of the FORTRAN IV's (which
ones, like WRITE DRUM .... and READ TAPE .... varied between
manufacturers). PUNCH directed output to a card punch, so the natural
way to translate it would be a WRITE statement with an output unit
connected (with the assistance of the operating system) to a card punch.
The only trouble is finding a card punch these days. You'll have to cook
something up here; what were the cards used for ?

John.

e p chandler

unread,
Jul 23, 2010, 4:07:07 PM7/23/10
to Fortran
Duh. I forgot about PUNCH as a FORTRAN statement. I last wrote data to
cards about 27 years ago. It might have been a WRITE(3,format) i/
o_list.

hadimahrina

unread,
Jul 26, 2010, 12:11:25 AM7/26/10
to Fortran
what about compiler for F66 ?

Do I need emulator first?

PUNCH is an output statement in F66/FIV. It missing in F77

hadimahrina

unread,
Jul 26, 2010, 12:13:29 AM7/26/10
to Fortran
Do you have an ebook or articles that explain how to convert FIV/F66
to F77?

Terence

unread,
Jul 26, 2010, 2:40:51 AM7/26/10
to Fortran

I explained "PUNCH" to Hadi and how to replace that statement, and
sent him the TO-F95 converter.

He seems to have some Fortran IV source that has dropped faint commas,
(maybe from scanning listings), so I explained the error messages he
was getting from one of the free fortran compilers. So he has a
compiler that does most of the job he needs.

However, as I explained in another place, my conversion of 66 BMD
Fortran IV programs this last year did have its problems, mostly DEC-
caused. So it isn't all that easy, even getting to F77code.

If anybody needs this (slightly corrected) original source or my
revised source and/or executables, help files, test input files and
output expected resuls, let me know.

Lonely moderator

e p chandler

unread,
Jul 27, 2010, 3:48:32 PM7/27/10
to Fortran
On Jul 26, 2:40 am, Terence <tbwri...@cantv.net> wrote:
> I explained "PUNCH" to Hadi and how to replace that statement, and
> sent him the TO-F95 converter.
>
> He seems to have some Fortran IV source that has dropped faint commas,
> (maybe from scanning listings), so I explained the error messages he
> was getting from one of the free fortran compilers. So he has a
> compiler that does most of the job he needs.
>
> However, as I explained in another place, my conversion of 66 BMD
> Fortran IV programs this last year did have its problems, mostly DEC-
> caused. So it isn't all that easy, even getting to F77code.

Yes those old moldy program can be a real pain, particulary with
vendor specific extensions.

Here are some I've ran into recently:

1. emulating keyed access on files transferred (sort of) from a VMS
system.
2. Hollerith data packed into integers. There's nothing like the joy
of dealing with 5 characters packed to a word. ((7 bit) ASCII in a 36
bit word).
3. initializaing character constants with octal numbers in data
statements.
4. allowing a mixture of declaration and data statements, for example
INTEGER K,J / 3,4 /
5 carriage control characters in format statements
6. ANSI terminal escape characters
7. subroutines that use alternate return arguments

But I have not seen any of these recently:

1. Arithmetic IFs
2. Computed GO TOs

--- Elliot




Terence

unread,
Jul 29, 2010, 6:22:33 PM7/29/10
to Fortran
I have looked at the source program. It is for processing earthquake
data.

It is written for the CDC 6400 and uses memory pointing tricks to
break up available memory into sub-arrays, by passing the arrays as
X(LP1),X(LP2),... etc, where each index LPx is defined from the
previous by adding the previous array size needed. It is also full of
Hollerith formats that don't supply the optional commas between terms,
and a plotting routine for the (wide) printer

Unfortunately it also assumes standard in, out and punch, uses up to
tape work files (set to 10 if undefined), has CDC timing calls to
allow th user to determine if too much time is being taken, and so on.

The memory usage trick is very common to the 1970's era, and almost
all the BMD programs carved up memory this way.

The OP reports he had to buy the source (it is copy-righted in 1978 by
the egents of the University of California, who learned from their
"mistake" of putting the original BMD programs in the public domain,
because some or all of Dixon's funds came from Uncle Sam).


Terence

unread,
Aug 18, 2010, 9:14:45 PM8/18/10
to Fortran
Converted and tested.against original data.
Output matches expected reports.
Worth rewriting, following the original algorithms, but adding user
communiaction about file names and other options.
Reply all
Reply to author
Forward
0 new messages