Linearly Ordered Attribute Grammar Scheduling Using SAT-Solving

L. Thomas van Binsbergen

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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
PublisherSpringer Berlin / Heidelberg
Pages289-303
Number of pages15
ISBN (Electronic)978-3-662-46681-0
ISBN (Print)978-3-662-46680-3
DOIs
Publication statusPublished - 1 Jan 2015
EventTACAS 2015 - Queen Mary, University of London, London, United Kingdom
Duration: 13 Apr 201517 Apr 2015

Publication series

NameLecture Notes in Computer Science
Volume9035
ISSN (Print)0302-9743

Conference

ConferenceTACAS 2015
Country/TerritoryUnited Kingdom
CityLondon
Period13/04/1517/04/15

Cite this