編譯器

下列何者最適合作為編譯器的語意分析所能發現的錯誤範例?

  1. A將型別不符的值指派給用來存放整數的變數
  2. B忘記在敘述結尾寫分號
  3. C執行程式後,中途發生了除以0的運算
查看答案與解析

正確答案:A. 將型別不符的值指派給用來存放整數的變數

語意分析針對文法上寫法正確的程式,檢查型別是否一致、是否使用了未宣告的名稱、傳給函式的引數數量是否正確等。型別不符的指派是在這個階段被發現的代表性錯誤。漏寫分號屬於文法錯誤,因此由語法分析發現。除以0是實際執行後才會發生的執行期錯誤,一般而言編譯器無法發現。

  • A. 正確。型別不一致會在語意分析中被發現。
  • B. 漏寫分號是由語法分析發現的文法錯誤。
  • C. 除以0是在執行期發生的錯誤。
練習這個領域 前往領域頁面

編譯器的其他題目

  1. 關於抽象語法樹(AST)的特徵,下列何者正確?
  2. 編譯器內部使用不依賴來源語言、也不依賴CPU的中介表示(IR),其主要優點為何?
  3. 關於基本區塊的說明,下列何者正確?
  4. 在控制流程圖中,節點與箭頭所代表的事物,下列組合何者正確?
  5. 關於SSA形式中介表示的特徵,下列何者正確?

這個領域的比較