Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Automatic Fortran to C++ conversion with FABLE

Journal Article · · Source Code for Biology and Medicine
 [1];  [2];  [3];  [4]
  1. Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States); DOE/OSTI
  2. Los Alamos National Laboratory (LANL), Los Alamos, NM (United States)
  3. Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States)
  4. Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States); University of California, Berkeley, CA (United States)

In scientific computing, Fortran was the dominant implementation language throughout most of the second part of the 20th century. The many tools accumulated during this time have been difficult to integrate with modern software, which is now dominated by object-oriented languages. Driven by the requirements of a large-scale scientific software project, we have developed a Fortran to C++ source-to-source conversion tool named FABLE. This enables the continued development of new methods even while switching languages. We report the application of FABLE in three major projects and present detailed comparisons of Fortran and C++ runtime performances. Our experience suggests that most Fortran 77 codes can be converted with an effort that is minor (measured in days) compared to the original development time (often measured in years). With FABLE it is possible to reuse and evolve legacy work in modern object-oriented environments, in a portable and maintainable way. FABLE is available under a nonrestrictive open source license. In FABLE the analysis of the Fortran sources is separated from the generation of the C++ sources. Therefore parts of FABLE could be reused for other target languages.

Research Organization:
Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States); Los Alamos National Laboratory (LANL), Los Alamos, NM (United States)
Sponsoring Organization:
USDOE Office of Science (SC), Biological and Environmental Research (BER). Biological Systems Science Division; National Institutes of Health (NIH); American Recovery and Reinvestment Act (ARRA)
Grant/Contract Number:
AC02-05CH11231
OSTI ID:
1628964
Journal Information:
Source Code for Biology and Medicine, Journal Name: Source Code for Biology and Medicine Journal Issue: 1 Vol. 7; ISSN 1751-0473
Publisher:
BioMed CentralCopyright Statement
Country of Publication:
United States
Language:
English

References (15)

Robust indexing for automatic data collection journal May 2004
An Algorithm for Automatic Indexing of Oscillation Images using Fourier Analysis journal December 1997
The CCP4 suite programs for protein crystallography journal September 1994
Automated MAD and MIR structure solution journal April 1999
Global variable considered harmful text January 1973
PHENIX: a comprehensive Python-based system for macromolecular structure solution. text January 2010
The Computational Crystallography Toolbox : crystallographic algorithms in a reusable software framework journal January 2002
Robust indexing for automatic data collection journal May 2004
An Algorithm for Automatic Indexing of Oscillation Images using Fourier Analysis journal December 1997
The integration of macromolecular diffraction data journal December 2005
PHENIX: a comprehensive Python-based system for macromolecular structure solution journal January 2010
The CCP4 suite programs for protein crystallography journal September 1994
Automated MAD and MIR structure solution journal April 1999
The Rossmann Fourier autoindexing algorithm in MOSFLM journal October 1999
Global variable considered harmful journal February 1973

Cited By (2)

The C++ programming language in cheminformatics and computational chemistry journal February 2020
Optimization of sequential code for simulation of solar radiative transfer in a vertically heterogeneous environment journal March 2017

Similar Records

FABLE - automatic Fortran to C++ conversion
Software · Sun Aug 08 20:00:00 EDT 2010 · OSTI ID:code-54763

Object-oriented design patterns for multiphysics modeling in Fortran 2003.
Conference · Tue Apr 01 00:00:00 EDT 2008 · OSTI ID:948717

CHASM : Static Analysis and Automatic Code Generation for Improved Fortran 90 and C++ Interoperability /
Conference · Sun Dec 31 23:00:00 EST 2000 · OSTI ID:975726