Linux Ratfor

[ Change History | Downloads | Other Things You Will Need ]

This Linux Ratfor is derived from the public domain ratfor version 1.0 by Oz, Ken Yap, W. Bauske (IBM), and SEP (http://sepwww.stanford.edu). It is still in the public domain.

Ratfor is short for Rational FORTRAN. If you are not familiar with Ratfor, SEP has a good page about it. It was used in the classic Software Tools text by Kernighan and Plauger, published by Addison and Wesley.

Change History

1.06 - 2020-12-08
This version fixes some buffer overflows:
Don't let gettok() go off the end of its buffer when fetching the include file name.
Don't let gtok() go off the end of lexstr[] when terminating a token that is too long.
Documented limitation on supported include file name length.

1.05 - 2020-04-03
This version tries to do a better job outputting data statements in the order traditionally required by Fortran 77 when handling sequences of string directives.
This version should emit a warning if eos is not defined when the program uses the string directive.
Added some tests and documentation of known limitations.

1.04 - 2020-02-19
This version incorporates my attempt to make the string directive work.
You can use the -s command line option to change the type of array elements generated for strings.
This version should work even when chars are unsigned.
Don't let gnbtok() walk off the beginning of infile[] (patch by Ole Streicher).
Added tests and performed some code cleanup.

1.03 - 2015-12-03
I incorporated the changes from Debian ratfor 1.0-15 and a fix for Debian bug#716285.

1.02 - 2015-09-16
I fixed several C compiler warnings, rpmlint warnings, and autoconf/automake warnings.

1.01 - 2001-03-04
I converted the source to ANSI C, added prototypes, adapted it for the GNU autoconf mechanism, and made the test cases (all two of them!) actually work. Because of these changes, I am distributing this as version 1.01. However, I consider this program to be stable.

Downloads

I have binary RPMS and source RPMS available, as well as the source code:

Other Things You Will Need

The ratfor preprocessor outputs FORTRAN 77. Please note that you will need a FORTRAN 77 compiler (such as GNU Fortran, part of the GNU Compiler Collection) to compile and run the output of Ratfor.

Send questions or comments to brg at dgate.org