編譯器

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

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

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

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

  • A. 這不是表示變數與指派順序的圖。
  • B. 正確。表示基本區塊以及其間的轉移。
  • C. 函式的呼叫以另外的呼叫圖表示。
練習這個領域 前往領域頁面

編譯器的其他題目

  1. 關於SSA形式中介表示的特徵,下列何者正確?
  2. 將上方程式碼轉為SSA形式後,if敘述之後會加入類似「x3 = φ(x1, x2)」的式子。關於此φ函數的作用,下列何者正確?
  3. 關於編譯器的常數摺疊(constant folding),下列哪個範例正確?
  4. 對上方程式碼反覆進行常數傳播與常數摺疊,最終會變成什麼樣的程式碼?
  5. 對上方程式碼進行共同子運算式消除時,下列說明何者正確?

這個領域的比較