Program Translation Via Abstraction and Reimplementation

  • Authors:
  • Richard C. Waters

  • Affiliations:
  • Massachusetts Institute of Technology, Cambridge

  • Venue:
  • IEEE Transactions on Software Engineering
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

Abstract

An abstraction-and-reimplementation paradigm is presented in which the source program is first analyzed in order to obtain a programming-language-independent abstract understanding of the computation performed by the program as a whole. The program is then reimplemented in the target language based on this understanding. The key to this approach is the abstract understanding obtained. It allows the translator to benefit from an appreciation of the global features of the source program without being distracted by what are considered irrelevant details. Knowledge-based translation via abstraction and reimplementation is described as one of the goals of the Programmer's Apprentice project. A translator which translates Cobol programs into Hibol (a very-high-level business data processing language) has been constructed. A computer which generates extremely efficient PDP-11 object code for Pascal programs has been designed.