...
首页> 外文期刊>Journal of Logic and Algebraic Programming >A partial evaluation framework for order-sorted equational programs modulo axioms
【24h】

A partial evaluation framework for order-sorted equational programs modulo axioms

机译:顺序排序方程程序模公理的部分评估框架

获取原文
获取原文并翻译 | 示例

摘要

Partial evaluation is a powerful and general program optimization technique with many successful applications. Existing PE schemes do not apply to expressive rule-based languages like Maude, CafeOBJ, OBJ, ASF+SDF, and ELAN, which support: 1) rich type structures with sorts, subsorts, and overloading; and 2) equational rewriting modulo various combinations of axioms such as associativity, commutativity, and identity. In this paper, we develop the new foundations needed and illustrate the key concepts by showing how they apply to partial evaluation of expressive programs written in Maude. Our partial evaluation scheme is based on an automatic unfolding algorithm that computes termvariantsand relies on high-performanceorder-sorted equational least general generalizationandorder-sorted equational homeomorphic embeddingalgorithms for ensuring termination. We show that our partial evaluation technique is sound and complete for convergent rewrite theories that may contain various combinations of associativity, commutativity, and/or identity axioms for different binary operators. We demonstrate the effectiveness of Maude's automatic partial evaluator,Victoria, on several examples where it shows significant speed-ups.
机译:部分评估是一种功能强大且通用的程序优化技术,具有许多成功的应用程序。现有的PE方案不适用于基于表达的基于规则的语言,例如Maude,CafeOBJ,OBJ,ASF + SDF和ELAN,它们支持:1)具有排序,子排序和重载的丰富类型结构; 2)等式重写以公理的各种组合为模,例如结合性,可交换性和恒等。在本文中,我们开发了所需的新基础,并通过显示关键概念如何将其应用于用Maude编写的表达程序的部分评估中来说明它们。我们的部分评估方案基于自动展开算法,该算法计算项变量并依赖于高性能的有序排序方程式最小广义推广和有序排序方程式同胚嵌入算法来确保终止。我们表明,对于聚合重写理论而言,我们的部分评估技术是健全且完整的,其中可能包含针对不同二元运算符的关联性,可交换性和/或标识公理的各种组合。我们在几个示例中证明了Maude的自动局部评估器Victoria的有效性,这些示例显示了明显的提速。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号