Issue No. 08 - August (1988 vol. 14)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.7629
<p>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.</p>
compilers; knowledge based system; data structures; abstract understanding; reimplementation; Programmer's Apprentice; translator; Cobol; Hibol; business data processing language; PDP-11 object code; Pascal programs; COBOL; data structures; expert systems; Pascal; program compilers; program interpreters
R. Waters, "Program Translation Via Abstraction and Reimplementation," in IEEE Transactions on Software Engineering, vol. 14, no. , pp. 1207-1228, 1988.