F2C
Jump to navigation
Jump to search
<pre> This archive contains an Atari ST/TT implementation of a Fortran-to-C compiler, developed by AT&T Bell Laboratories and Bellcore (read the file NOTICE for legal information). After unpacking, you should have the following files: - notice information about copyright, warranty etc. - f2c.ttp the compiler itself - f2c.1 man page - f2c.1t man page for nroff/troff - f2c.ps Technical report about f2c - f2c.h include file - f2c.olb library for 68020/30 machines with 68881 (i.e. Atari TT) - f2cslow.olb library for any Atari ST/TT (68000, no FPU) The last three files depend on the C compiler being used to compile the C programs produced by f2c. The versions included can be used with GNU-C 1.40 and probably also later releases. In the following it is assumed that you have a working installation of GNU-C on your system. The combination of f2c and GNU-C can be used as a Fortran compiler that compares favourably with commercial compilers, the main disadvantage being that source-level debugging is not possible. Even those who regularly use another Fortran compiler might be interested in using f2c as a syntax checker, since it is very fast and produces better diagnostic output than any ST Fortran compiler I know of. Another obvious application is the conversion of Fortran libraries to C to free future programmers from the burdens of Fortran (now you know my opinion about Fortran). Installation: ------------- - Copy f2c.ttp wherever you keep your executable programs. - Copy f2c.h wherever GNU-C looks for include files (i.e. the path specified by the environment variable GNUINC). - Copy f2c.olb and/or f2cslow.olb wherever you keep the GNU-C libraries (i.e. the path specified by the environment variable GNULIB). Using f2c: ---------- See f2c.1 and/or f2c.1t for details. f2c.ttp itself does not need any other file to operate, the include file and the libraries are needed only for subsequent compilation. Please note that f2c options are case sensitive; you must run it from a shell that does not convert commandline parameters to upper case like the GEM Desktop does. There are three differences between the Atari ST implementation and the original Unix version described in the documentation: - The Atari ST implementation can only translate one file at a time. - There is an additional option -l logfile which causes f2c to write all error messages to the file 'logfile' in addition to showing them on the screen. - The Fortran programs may have the extensions .f or .for or their upper-case equivalents. Translating the generated C programs: ------------------------------------- The programs generated by f2c automatically #include the file f2c.h, which contains some compiler-specific definitions. For I/O and some mathematical functions, they contain calls to library functions that are contained in f2c.olb/f2cslow.olb. To compile a program foo.c for a machine having a 68020/30 and 68881, use gcc -o foo.tos -m68020 -m68881 -D_M68881 foo.c -lf2c To compile for a generic ST/TT, i.e. using only 68000 opcodes and software floating point routines, use gcc -o foo.tos foo.c -lf2c -lpml Obtaining the source code: -------------------------- The source code for f2c and the libraries is available from an automatic file server at AT&T. For more information, send a message containing the single line send index to "netlib@research.att.com". The library source code is necessary to use f2c with C compilers other than GNU-C. Be warned however: porting the libraries to less Unix-compatible programming environments will not be easy. If anyone manages to implement a support library for Turbo-C/Pure-C, please let me know (I gave up after two days; after all, I have other things to do). Bugs: ----- I have been using f2c.ttp and f2c.olb for a month now without encountering any problems. Since I use a TT, I did only some quick checks on f2cslow.olb, but I don't expect any problems, since f2cslow.olb differs from f2c.olb only in the compiler options used. Of course I cannot guarantee anything about this ST/TT implementation; nevertheless I would be interested in bug reports, because I have come to rely on f2c a lot for my Fortran programming. Bugs not specific to the ST/TT implementation should also be reported to the original authors; obtain the source code for more information. Konrad Hinsen Institut fuer Theoretische Physik A RWTH Aachen Templergraben 55 D-W-5100 Aachen Germany E-Mail addresses: konrad@thphys.physik.rwth-aachen.de cd010hi.dacth11.bitnet konrad_hinsen@ac2.maus.de
Back to Fortran