[comp.lang.c] free fortran to C translator

Mark.Maimone@a.gp.cs.cmu.edu (01/23/90)

In article <10364@saturn.ucsc.edu> daniel@saturn.ucsc.edu (Daniel Edelson) writes:
>Does anybody know of a Fortran to C translator that has 
>successfully been used to translate a significant body
>of code?

	Ask and ye shall receive.....

	Source for f2c, a Fortran 77 to C translator jointly developed by
folks from Bell Labs, Bellcore, and Carnegie Mellon, is now freely
available.

	F2c was derived from the original UNIX operating system's f77(1),
and the generated C follows f77's calling conventions; on some machines, the
resulting object files are interchangeable with (and behave
indistinguishably from) objects compiled by f77.  The main "advantage" of
f2c is that it converts ANSI standard Fortran 77 into C without manual
intervention, at least when invoked by a suitable script or makefile (that
may need to exercise an f2c option to ensure that COMMON blocks are defined
just once).  The main "problems" are that f2c does no code restructuring
(e.g., gotos are preserved) and that Fortran I/O gets converted into a bunch
of calls; thus the translated C code doesn't look too pretty, and in general
one would need to maintain the Fortran rather than its translation into C.
[F2c is not meant to displace the services of commercial vendors whose
business is to convert Fortran into maintainable C.]

	There is a plethora of options, many of which exist to support
different compilation environments for the translated C (e.g., ANSI C or C++
compatability, different type sizes, separate files for COMMON blocks to
appease "smart" linkers).  So far f2c (and f2c-generated source) has
compiled successfully on many machines:  Sun, Vax, IBMRT, Apollo, SGI, MIPS,
and Cray to name a few.

	F2c has been under test by the net community for over six months,
and has been verified on the NBS tests, several large math libraries,
floating point tests, even code for laying cable on the ocean floor!

	To find about f2c, send the following E-mail message to netlib
(netlib@research.att.com or research!netlib):

	echo send index from f2c | mail netlib@research.att.com

Your message will be answered automatically (by a program -- see CACM vol.
30 #5 (May, 1987), pp. 403-407).  You will receive a reply explaining how to
automatically acquire f2c source (about 600K), f2c library source (130K),
and supporting info (man page, etc).

****************************** DISCLAIMER ******************************
	     Careful! Anything free comes with no guarantee.
************************************************************************

----------------------------------------------------------------------
Mark Maimone				phone: (412) 268 - 7698
Carnegie Mellon Computer Science	email: mwm@cs.cmu.edu
					       cmcspt!mwm@cs.cmu.edu
-- 
Send compilers articles to compilers@esegue.segue.boston.ma.us
{spdcc | ima | lotus}!esegue.  Meta-mail to compilers-request@esegue.
Please send responses to the author of the message, not the poster.

mwm@a.gp.cs.cmu.edu (Mark Maimone) (02/04/90)

	Source for f2c, the Fortran to C translator introduced a few days
ago, is now available via both anonymous FTP and email.  To find out about
getting the source via email, send this message to netlib@research.att.com
(or UUCP address research!netlib)

		send index from f2c

To get it using anonymous FTP,   ftp research.att.com   and   cd   to
directory   dist/f2c.   All files are stored in compressed format, you will
need to uncompress(1) them on your system.
--
----------------------------------------------------------------------
Mark Maimone				phone: (412) 268 - 7698
Carnegie Mellon Computer Science	email: mwm@cs.cmu.edu
grad student, vocal jazz and PDQ Bach enthusiast
-- 
----------------------------------------------------------------------
Mark Maimone				phone: (412) 268 - 7698
Carnegie Mellon Computer Science	email: mwm@cs.cmu.edu
grad student, vocal jazz and PDQ Bach enthusiast