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


Full Text : https://apps.dtic.mil/dtic/tr/fulltext/u2/a185845.pdf


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