Improving the GP 2 Compiler

02/07/2020
by   Graham Campbell, et al.
0

GP 2 is an experimental programming language based on graph transformation rules which aims to facilitate program analysis and verification. Writing efficient programs in such a language is hard because graph matching is expensive, however GP 2 addresses this problem by providing rooted rules which, under mild conditions, can be matched in constant time using the GP 2 to C compiler. In this report, we document various improvements made to the compiler; most notably the introduction of node lists to improve iteration performance for destructive programs, meaning that binary DAG recognition by reduction need only take linear time where the previous implementation required quadratic time.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/06/2020

The Improved GP 2 Compiler

GP 2 is a rule-based programming language based on graph transformation ...
research
12/21/2020

Fast Rule-Based Graph Programs

Implementing graph algorithms efficiently in a rule-based language is ch...
research
12/03/2020

A Fast Graph Program for Computing Minimum Spanning Trees

When using graph transformation rules to implement graph algorithms, a c...
research
12/03/2020

Verifying Graph Programs with First-Order Logic

We consider Hoare-style verification for the graph programming language ...
research
05/06/2020

Sparktope: linear programs from algorithms

In a recent paper Avis, Bremner, Tiwary and Watanabe gave a method for c...
research
10/27/2020

Verifying Graph Programs with First-Order Logic (Extended Version)

We consider Hoare-style verification for the graph programming language ...
research
08/28/2022

ECP SOLLVE: Validation and Verification Testsuite Status Update and Compiler Insight for OpenMP

The OpenMP language continues to evolve with every new specification rel...

Please sign up or login with your details

Forgot password? Click here to reset