4 research outputs found

    Formalizing the Expertise of the Assembly Language Programmer

    Get PDF
    A novel compiler strategy for generating high quality code is described. The quality of the code results from reimplementing the program in the target language using knowledge of the program's behavior. The research is a first step towards formalizing the expertise of the assembly language programmer. The ultimate goal is to formalize code generation and implementation techniques in the same way that parsing and code generation techniques have been formalized. An experimental code generator based on the reimplementation strategy will be constructed. The code generator will provide a framework for analyzing the costs, applicability, and effectiveness of various implementation techniques. Several common code generation problems will be studied. Code written by experienced programmers and code generated by a conventional optimizing compiler will provide standards of comparison.MIT Artificial Intelligence Laborator

    Mixed computation: potential applications and problems for study

    Get PDF
    AbstractMixed computation is processing of an incomplete information. Its product are a partially processed information and a so-called residual program destined to complete in sequel the processing of the remaining information. Many kinds of practical work with programs are nothing more but obtaining a residual program. We demonstrate, as an example, the application of mixed computation to compilation. Under computational approach mixed computation generalizes the operational semantics of a language by inclusion of steps which generate residual program instructions. Under transformational approach the residual program is obtained as a result of a series of so-called basic transformations of the program text. We argue that the transformational approach is more fundamental, for it allows to describe mixed computation in all its variety and moreover, to relate mixed computation to other kinds of program manipulation: execution, optimization, macroprocessing, synthesis. Such an integrated approach leads us to a transformational machine concept

    Code generation using a backtracking LR parser

    Get PDF
    Although the parsing phase of the modern compiler has been automated in a machine independent fashion, the diversity of computer architectures inhibits automating the code generation phase. During code generation, some intermediate representation of a source program is transformed into actual machine instructions. The need for portable compilers has driven research towards the automatic generation of code generators.;This research investigates the use of a backtracking LR parser that treats code generation as a series of tree transformations
    corecore