コンパイラ
制御フローグラフで、節と矢印が表しているものの組み合わせとして正しいものはどれか。
- A節は変数、矢印は変数の値を代入した順番
- B節は基本ブロック、矢印はブロック間の分岐や移り変わり
- C節は関数、矢印はファイルどうしの読み込みの関係
答えと解説を見る
正解:B. 節は基本ブロック、矢印はブロック間の分岐や移り変わり
制御フローグラフは、基本ブロックを節、あるブロックの実行のあとに続く可能性のあるブロックへの移り変わり(条件分岐の両方の行き先や、そのまま次のブロックへ進む流れ)を矢印として表したグラフです。後ろ向きの矢印からループを見つけたり、変数の値がどこからどこへ届くかを解析したりするのに使われます。関数どうしの呼び出し関係は別のコールグラフで表し、ファイルの読み込みの関係とは関係ありません。
- A. 変数と代入の順番を表すグラフではありません。
- B. 正しい。基本ブロックとその間の移り変わりを表します。
- C. 関数の呼び出しは別のコールグラフで表します。