Accession Number : ADA185845

Title :   Program Translation via Abstraction and Reimplementation.

Descriptive Note : Memorandum rept.,

Corporate Author : MASSACHUSETTS INST OF TECH CAMBRIDGE ARTIFICIAL INTELLIGENCE LAB

Personal Author(s) : Waters, Richard C

PDF Url : ADA185845

Report Date : Dec 1986

Pagination or Media Count : 45

Abstract : Essentially all program translators (both source-to-source and compilers) operate via transliteration and refinement. The source program is first transliterated into the target language on a statement by statement basis. Various refinements are then applied in order to improve the quality of the output. Although acceptable in many situations, this approach is fundamentally limited in the quality of output it can produce. In particular, it tends to be insufficiently sensitive to global features of the source program and too sensitive to irrelevant local details. This paper presents an alternate translation paradigm - abstraction and reimplementation. Using this paradigm, 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 see the forest for the trees - benefiting from an appreciation of the global features of the source program without being distracted by irrelevant details.

Descriptors :   *PROGRAMMING LANGUAGES, *COMPUTER PROGRAMS, *MACHINE TRANSLATION, *ALGORITHMS, COMPILERS, LANGUAGE, OUTPUT, QUALITY

Subject Categories : Computer Programming and Software

Distribution Statement : APPROVED FOR PUBLIC RELEASE