第9章 程序变换技术幻灯片.pptVIP

  • 6
  • 0
  • 约3.99千字
  • 约 18页
  • 2016-12-10 发布于浙江
  • 举报
2. 程序变换的思想 程序变换的基本思想是把程序设计工作分成两个阶段进行:程序生成阶段和程序改进阶段。 程序生成阶段 设计面向问题的、易于理解的、正确的函数型递归程序,不考虑效率。 程序改进阶段 通过一系列变换规则,将程序转换成具体的面向过程且效率较高的程序。 2. 程序变换的思想 程序变换的方法: 即根据某些程序变换规则把一种程序变换成另一新的程序,这两个程序必须是等价的。 如用Dijkstra的谓词转换器定义,则有程序P1和P2等价,当且仅当对任意谓词R满足:wp(P1,R)=wp(P2,R) 程序变换可以看作是一种严格的数学演算,因此为了保证程序的正确性,只要对变换前的程序文本加以验证就行了,而变换后程序的正确性将由变换规则加以保证。 3. 程序变换的基本规则 程序变换规则是在程序集合上的一个映射,每个变换规则一般仅对一类程序有定义,故可用程序模式的有序对来描述变换规则。 当可用性条件B成立时,输入模式S1可用输出模式S2来代替。 4 基本的变换规则 ①. 定义规则 将谓词中的存在量词的每次呈现都用全称量词代替。 ②. 取样规则 容许代入参数的特定值,得到输入模式的一个样品。 ③. 展开和封叠规则 展开是将函数调用用相应的函数体来替代。 封叠是展开的逆规则。 ④. 用定律规则 容许在程序变换中直接利用各种代数定律。 ⑤. 抽象规则 容许把函数体中的公共子表达式抽象为

文档评论(0)

1亿VIP精品文档

相关文档