控制流图

王朝百科·作者佚名  2010-04-28  
宽屏版  字体:   |    |    |  超大  

控制流图(CFG, Control flow graph)

控制流图(CFG)是用在编译器中的一个抽象数据结构。它是一个过程或程序的抽象表现,由编译器在内部维护。每个在图形中的节点代表一个基本块,例如,没有任何跳跃或跳跃目标的直线代码块;跳跃目标以一个块开始,和以一个块结束。定向边缘被用于代表在控制流中的跳跃。在那里,在大部分介绍中,两个特定的设计块:项目块,通过它控制到流图的输入,和编辑块,通过它全面控制流输出。

控制流图CFG是一有向图G = (N, E, nentry, nexit). 其中,N是节点集,程序中的每个语句都对应图中的一个节点;边集E = {< n1,n2 > | n1, n2∈ N且n1执行后,可能立即执行n2}; nentry 和nexit分别为程序的入口和出口节点。

程序控制流图的绘制:

􀀹 程序语句格式化、规范化处理;

􀀹 识别程序的逻辑行;

􀀹 根据程序逻辑行之间的控制关系绘制CFG图;

􀀹 在CFG图上作适当的标记,例如入/出口、真假分支等。

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有