Linearly Ordered Attribute Grammar Scheduling Using SAT-Solving

Jeroen Bransen, L.Thomas van Binsbergen, Koen Claessen, Atze Dijkstra

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    Abstract

    Many computations over trees can be specified using attribute
    grammars. Compilers for attribute grammars need to find an
    evaluation order (or schedule) in order to generate efficient code. For the
    class of linearly ordered attribute grammars such a schedule can be found
    statically, but this problem is known to be NP-hard.
    In this paper, we show how to encode linearly ordered attribute grammar
    scheduling as a SAT-problem. For such grammars it is necessary to
    ensure that the dependency graph is cycle free, which we approach in a
    novel way by transforming the dependency graph to a chordal graph allowing
    the cycle freeness to be efficiently expressed and computed using
    SAT solvers.
    There are two main advantages to using a SAT-solver for scheduling:
    (1) the scheduling algorithm runs faster than existing scheduling algorithms
    on real-world examples, and (2) by adding extra constraints we
    obtain fine-grained control over the resulting schedule, thereby enabling
    new scheduling optimisations.
    Original languageEnglish
    Title of host publicationTools and Algorithms for the Construction and Analysis of Systems
    EditorsChristel Baier, Cesare Tinelli
    PublisherSpringer
    Pages289-303
    Number of pages15
    DOIs
    Publication statusPublished - 2015

    Publication series

    NameLecture Notes in Computer Science
    PublisherSpringer
    Volume9035

    Keywords

    • Attribute Grammars
    • static analysis
    • SAT-solving

    Fingerprint

    Dive into the research topics of 'Linearly Ordered Attribute Grammar Scheduling Using SAT-Solving'. Together they form a unique fingerprint.

    Cite this