什麼是控制流程圖

以基本區塊為節點、區塊之間的分支或轉移為箭頭,表示程式執行流程的圖。用於迴圈的偵測與資料流的分析。

日文名稱: 制御フローグラフ

「控制流程圖」出現在1領域的3道練習題中(編譯器等)。

這個名詞所屬的領域: 編譯器

練習控制流程圖的題目

在控制流程圖中,節點與箭頭所代表的事物,下列組合何者正確?

  1. A節點是變數,箭頭是變數值被指派的順序
  2. B節點是基本區塊,箭頭是區塊之間的分支或轉移
  3. C節點是函式,箭頭是檔案之間的載入關係
查看答案與解析

正確答案:B. 節點是基本區塊,箭頭是區塊之間的分支或轉移

控制流程圖是以基本區塊為節點,並以箭頭表示執行某個區塊之後可能接續的區塊之轉移(條件分支的兩個去向,或直接進入下一個區塊的流程)的圖。可用於從往回指的箭頭找出迴圈,或分析變數的值從何處傳遞到何處。函式之間的呼叫關係以另外的呼叫圖表示,與檔案的載入關係無關。

解析中的「控制流程圖」

出現「控制流程圖」的題目(3題)

  1. 在控制流程圖中,節點與箭頭所代表的事物,下列組合何者正確?
  2. 關於基本區塊的說明,下列何者正確?
  3. 作為暫存器配置的準備而進行的存活區間(liveness)分析,所求的是下列何者?

相關名詞

基本區塊 迴圈展開 暫存器配置 中間表示法(IR) 共同子運算式消除 向量化 行內展開 抽象語法樹(AST) 指令排程 常數摺疊

前往名詞解釋列表