Linearly ordered attribute grammar scheduling using SAT-solving
Paper i proceeding, 2015

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.

SAT-solving

Static analysis

Attribute Grammars

Författare

J. Bransen

Universiteit Utrecht

L.T. Van Binsbergen

Royal Holloway University of London

Universiteit Utrecht

Koen Lindström Claessen

Chalmers, Data- och informationsteknik, Programvaruteknik

A.H. Dijkstra

Universiteit Utrecht

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

03029743 (ISSN) 16113349 (eISSN)

Vol. 9035 289-303
9783662466803 (ISBN)

Ämneskategorier

Datavetenskap (datalogi)

DOI

10.1007/978-3-662-46681-0_24

Mer information

Senast uppdaterat

2024-05-24