|
|
1.1 ! root 1: .TL ! 2: \f(CWf2c\fP: A Fortran 77 to C Converter ! 3: .AU ! 4: S. I. Feldman ! 5: .AI ! 6: Bellcore ! 7: .AU ! 8: D. M. Gay ! 9: N. L. Schryer ! 10: .AI ! 11: .MH ! 12: .AU ! 13: M. W. Maimone ! 14: .AI ! 15: Carnegie Mellon University ! 16: .PP ! 17: Several Fortran to C converters are commercially available, but ! 18: none are useful for projects bigger than a few hundred lines; ! 19: their error rates are measured in percents. ! 20: For large-scale conversions, error rates near one in a million are needed. ! 21: Having a reliable Fortran to C converter is of immense interest and value ! 22: to our research, where we mix Fortran and C in various environments ! 23: and architectures. ! 24: .PP ! 25: We have produced a Fortran 77 (f77) to C converter, ! 26: with the aid of a summer student, Mark Maimone, from Carnegie-Mellon University. ! 27: The program is based on the original f77 compiler ! 28: that was written by S. I. Feldman ! 29: many years ago and is still in heavy use. ! 30: .PP ! 31: That compiler internally constructs a C parse-tree, then produces C ! 32: intermediate code for the second pass of the C compiler. ! 33: We produce a C program from the internal C tree. ! 34: .PP ! 35: The converter, dubbed \f(CWf2c\fP, has been used internally for some time ! 36: and is ready for distribution. ! 37: .PP ! 38: Feldman's collaboration in this project made it possible \(em ! 39: there is nothing like having the author of a program advise on its ! 40: alteration. ! 41: Since Feldman is at Bellcore and the work was done jointly at AT&T Bell Laboratories and Bellcore, ! 42: and since we undertook this project with the understanding ! 43: that its fruits would be made publicly available, ! 44: we propose putting the resulting f77 to C converter software in the public domain. ! 45: This will be accomplished by putting the program and its documentation, ! 46: see the attached "man page," ! 47: through a publication release, from both AT&T and Bellcore.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.