包含IF语句的DO循环的向量化
出 版 物:《计算机工程与科学》 (Computer Engineering & Science)
年 卷 期:1982年第2期
页 面:46-62页
摘 要:本文应用强化定理研究带有算术IF、逻辑IF和块IF语句的循环。如果我们熟悉微积分学的话,那么,我们很自然地会把强化定理跟函数项级数的一个一致收敛性判别定理(属于Weierstrass)相联系。在那里,寻找一个常数项级数作为函数项级数的强级数。当我们证明了这个常数项级数的收敛性时,就能断言函数项级数是一致收敛的。本文把这样的思想用于包含算术IF、逻辑IF和块IF语句的循环。正是出于构造一个扮演常数项强级数角色的强循环的需要,本文首先抽象出“闭体的概念,进而规定了本文所要处理的包含逻辑IF和块IF语句的I0型循环。处理的方法是:剔除所有的条件判别,把包含逻辑IF和块IF语句的循环,转化为赋值语句循环,以便充分利用文[1]、[2]和[3]的全部成果。本文的核心部分在于证明了一个定理,该定理指出:包含逻辑IF和块IF语句的循环,跟剔除所有的条件判别而得到的闭体,构成一个弱强循环对。然后,我们处理带有算术IF语句的I1型循环。处理的方法是:把它们转化成为I0型循环。至此,结构程序语言的三种基本成份——赋值,循环和条件判别的向量化问题,在文[2]的意义下(即以语句为单位,不考虑语句的分解)已全部得到解决。其他能够经过程序变换,用这三种基本成份表达(例如由算术IF和无条件GOTO形成的三叉控制转移,以及由计算GOTO和无条件GOTO形成的多叉控制转移)的所有循环的向量化问题,也都迎刃而解。