Program translation via abstraction and reimplementation
- 1 August 1988
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 14 (8) , 1207-1228
- https://doi.org/10.1109/32.7629
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.Keywords
This publication has 15 references indexed in Scilit:
- The Programmer's Apprentice: A Session with KBEmacsIEEE Transactions on Software Engineering, 1985
- Program Reusability through Program TransformationIEEE Transactions on Software Engineering, 1984
- An Algorithm for Parsing Flow GraphsPublished by Defense Technical Information Center (DTIC) ,1984
- On the efficient synthesis of efficient programsArtificial Intelligence, 1983
- Experience with the SETL OptimizerACM Transactions on Programming Languages and Systems, 1983
- EUROTRA – A European System for Machine TranslationLebende Sprachen, 1981
- Transformational Implementation: An ExampleIEEE Transactions on Software Engineering, 1981
- A Method for Analyzing Loop ProgramsIEEE Transactions on Software Engineering, 1979
- PASCAL User Manual and ReportPublished by Springer Nature ,1975
- On the translation of machine language programsCommunications of the ACM, 1965