问题
单项选择题
一个程序的控制流图是一个有向图,它的结点是程序中的()。
A.语句
B.循环
C.基本块
D.函数
答案
参考答案:C
解析:
优化是对中间代码进行优化,为了能进行优化,首先要分析清楚程序中的控制流程和数据流程。对于中间代码来说,基本块是控制流程简单的基本元素,它是一个顺序执行的语句(四元式)序列,其中只有一个入口和一个出口。
控制流程图能很好地表示程序中基本块之间的关系,对程序的控制流和数据流分析是在程序的控制流图上进行的,所以,构建中间代码的控制流图是编译程序对中间代码进行优化的第一步。
对编译生成的中间代码,首先划分成基本块,然后,对于程序中的两个基本块Bi和 Bj,若Bj紧接着Bi被执行,则从Bi引一条有向边到Bj,称Bi是Bj的直接前驱,而Bj是 Bi的直接后继。所以,一个程序的控制流图是个有向图,其结点是程序中的基本块,它有唯一的首结点。