arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2002.02914cs.PLcs.LO
收藏

改进GP 2搅拌器

Improving the GP 2 Compiler

Graham Campbell, Jack Romo, Detlef Plump

摘要:

GP 2是一种基于图变换规则的实验性程序设计语言,旨在促进程序分析和验证。用这种语言编写高效的程序是困难的,因为图匹配是昂贵的,然而GP 2通过提供根规则来解决这个问题,在温和的条件下,可以使用GP 2到C编译器在恒定的时间内匹配。在这份报告中,我们记录了对编译器的各种改进;最值得注意的是引入节点列表来提高破坏性程序的迭代性能,这意味着通过减少二进制DAG识别只需要线性时间,而以前的实现需要二次时间。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑