Context free grammar PDG中各种曲线的含义

Context free grammar PDG中各种曲线的含义,context-free-grammar,frama-c,Context Free Grammar,Frama C,我想知道PDG中曲线或圆弧的含义。 哪些是数据依赖,哪些是控制依赖等等 边的颜色表示数据相关性:蓝色表示是,黑色表示否。 箭头的形状表示控件的依赖关系:圆圈表示是,正常箭头表示否。线的类型表示地址依赖项:虚线表示是,普通线表示否 地址依赖项类似于数据依赖项,但用于分配的正确部分。例如,声明: *p = c ? a : b; 对c具有控制依赖性,对a和b具有数据依赖性,对&p和p具有地址依赖性 这与实际PDG中的情况不完全相同,因为Frama-C在: if (c) { *p = a; } el

我想知道PDG中曲线或圆弧的含义。 哪些是数据依赖,哪些是控制依赖等等


边的颜色表示数据相关性:蓝色表示是,黑色表示否。 箭头的形状表示控件的依赖关系:圆圈表示是,正常箭头表示否。线的类型表示地址依赖项:虚线表示是,普通线表示否

地址依赖项类似于数据依赖项,但用于分配的正确部分。例如,声明:

*p = c ? a : b;
c
具有控制依赖性,对
a
b
具有数据依赖性,对
&p
p
具有地址依赖性

这与实际PDG中的情况不完全相同,因为Frama-C在:

if (c) { *p = a; } else { *p = b; }

但这就是我的想法。

非常感谢,这正是我想知道的。