...
首页> 外文期刊>Science of Computer Programming >Yield grammar analysis and product optimization in a domain-specific language for dynamic programming
【24h】

Yield grammar analysis and product optimization in a domain-specific language for dynamic programming

机译:使用领域特定语言进行产量语法分析和产品优化以进行动态编程

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

摘要

Dynamic programming algorithms are traditionally expressed by a set of matrix recurrences-a low level of abstraction, which renders the design of novel dynamic programming algorithms difficult and makes debugging cumbersome. Bellman's GAP is a declarative, domain-specific language, which supports dynamic programming over sequence data. It implements the algebraic style of dynamic programming and allows one to specify algorithms by combining so-called yield grammars with evaluation algebras. Products on algebras allow to create novel types of analyses from already given ones, without modifying tested components. Bellman's GAP extends the previous concepts of algebraic dynamic programming in several respects, such as an "interleaved" product operation and the analysis of multi-track input. Extensive analysis of the yield grammar and the evaluation algebras is required for generating efficient imperative code from the algebraic specification. This article gives an overview of the analyses required and presents several of them in detail. Measurements with "real-world" applications demonstrate the quality of the code produced.
机译:传统上,动态编程算法是通过一组矩阵递归表示的-低级别的抽象,这使得新颖的动态编程算法的设计变得困难,并且调试麻烦。 Bellman的GAP是一种声明性的领域特定语言,它支持对序列数据进行动态编程。它实现了动态规划的代数风格,并允许人们通过将所谓的收益语法与评估代数相结合来指定算法。代数上的乘积允许从已经给定的分析创建新颖的分析类型,而无需修改经过测试的组件。 Bellman的GAP在几个方面扩展了以前的代数动态编程概念,例如“交错”产品运算和多轨输入分析。要从代数规范生成有效的命令式代码,就需要对收益语法和评估代数进行广泛的分析。本文概述了所需的分析,并详细介绍了其中的一些分析。使用“实际”应用程序进行的测量证明了所生成代码的质量。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号