Bak, Christopher Peter and Plump, Detlef orcid.org/0000-0002-1148-822X (2016) Compiling Graph Programs to C. In: Echahed, Rachid and Minas, Mark, (eds.) Proceedings 9th International Conference on Graph Transformation (ICGT 2016). 9th International Conference on Graph Transformation (ICGT 2016), 05-06 Jul 2016 Lecture Notes in Computer Science . Springer , AUT , pp. 102-117.
Abstract
We show how to generate efficient C code for a high-level domain-specific language for graphs. The experimental language GP 2 is based on graph transformation rules and aims to facilitate formal reasoning on programs. Implementing graph programs is challenging because rule matching is expensive in general. GP 2 addresses this problem by providing rooted rules which under mild conditions can be matched in constant time. Using a search plan, our compiler generates C code for matching rooted graph transformation rules. We present run-time experiments with our implementation in a case study on checking graphs for two-colourability: on grid graphs of up to 100,000 nodes, the compiled GP 2 program is as fast as the tailor-made C program given by Sedgewick.
Metadata
Authors/Creators: |
|
---|---|
Copyright, Publisher and Additional Information: | © C. Bak, G. Faulkner, D. Plump & C. Runciman. This is an author-produced version of the published article. Uploaded in accordance with the publisher’s self-archiving policy. Further copying may not be permitted; contact the publisher for details. |
Dates: |
|
Institution: | The University of York |
Academic Units: | The University of York > Faculty of Sciences (York) > Computer Science (York) |
Depositing User: | Pure (York) |
Date Deposited: | 18 Jan 2018 14:10 |
Last Modified: | 06 Dec 2023 09:58 |
Published Version: | https://doi.org/10.1007/978-3-319-40530-8_7 |
Status: | Published |
Publisher: | Springer |
Series Name: | Lecture Notes in Computer Science |
Refereed: | No |
Identification Number: | https://doi.org/10.1007/978-3-319-40530-8_7 |
Related URLs: |