程序分析技术 第六讲: 一种信息流分析技术 一、处理的语言 S- skip |V:=e |If e then s else s |If e then s |s; s |While e do s 选择的原因:结果定理 e1 S1 S2 S3 S4 e2 二、基本方法 结构图 S3 S4 e1 S1 S2 e1 S1 基本定义 定义:设S为一个语句,若在S中有V:=e,一则称S定义了v。用Ds表示S定义的所有变量之集。 设S为一个语句,从G(S)入口到G(S)出口存在一条路,且在该路上无对变量x的赋值,则称S保护了x。用Ps表示S保护的所有变量之集。 定义:变量与表达式的关系 若变量v在G(S)入口处值,直接或间接参与了表达式e的计算,则说v和e具有关系,记为v?S e或者(v, e) ??S。 定义:表达式与变量的关系 若表达式e直接或间接参加变量v在G(S)出口处值的计算,则称e和v具有关系?,记为e?S v或者(e, v) ??S。 定义:变量与变量的关系 ?S = ?S?S ? {(v, v) | v?PS} 解释,v1?Sv2,v在G(S)的入口值参与v2在G(S2)出口值的计算。 v1?Sv2,v1在G(S)的入口值可? G(S)的出口 3.计算方法 空语句 S: skip; Ds = ?, ps= V
原创力文档

文档评论(0)