5 research outputs found

    Generation of distributed supervisors for parallel compilers

    Get PDF
    This paper presents a new approach towards solving the combination and communication problems between different compiler tasks. As optimizations may generate as well as destroy application conditions of other tasks a carefully chosen application order is important for the effectiveness of the compiler system. Each task is solved by exactly one implementation (engine) and is characterized by its input-output behaviour and an optional heuristics. The specification of all tasks in this manner allows the generation of distributed supervisors for the whole compilation system. The result is a clear semantics of the compiler behaviour during compilation and the separation of algorithm and communication. Software engineering advantages are the easy integration of independently developed parts and the reusability of code. The flexibility of such a compiler system results in high portability even across hardware architectures and topologies

    Transformations of Evolving Algebras

    No full text
    We give a precise definition of evolving algebras as nondeterministic, mathematical machines. All proofs in the paper are based on this definition. First we define constant propagation as a transformation on evolving algebras. Then we extend evolving algebras by macro definitions and define folding and unfolding transformations for macros. Next we introduce a simple transformation to flatten transition rules. Finally a pass separation transformation for evolving algebras is presented For all transformations the operational equivalence of the resulting algebras with the original algebras is proven. In the case of pass separation, we show, that the results of the computations in the original and the transformed evolving algebra are equal. Next we apply pass separation to a simple interpreter. Finally a comparison to other work is given. Contents 1 Introduction 3 2 Syntactic-sugar free EvAs 3 3 Computations of EvAs 3 4 Constant Propagation 4 5 Macro Definitions 5 6 Unfolding Macros 5 7 F..

    Generating Analyzers with PAG

    No full text
    interpretation. These algorithms are rather complex � their implementation is therefore a non{trivial task and error{prone. However, since they are based on a common theory, theyhave large similar parts. We conclude that analyzer writing better should be replaced with analyzer generation. We present the tool PAG that has a high level functional input language to specify data ow analyses. It o ers the speci cation of even recursive data structures and is therefore not limited to bit vector problems. PAG generates e cient analyzers which can be easily integrated in existing compilers. The analyzers are interprocedural, they can handle recursive procedures with local variables and higher order functions. PAG has successfully been tested by generating several analyzers (e.g. alias analysis, constant propagation, interval analysis) for an industrial quality ANSI-C and Fortran90 compiler. This technical report consists of two parts � the rst introduces the generation system and the second evaluates generated analyzers with respect to their space and time consumption

    Anmerkungen

    No full text
    corecore