編譯器

關於編譯器詞法分析的作用,下列何者正確?

  1. A以樹狀結構檢查程式的敘述是否符合語言的文法
  2. B將原始碼的字元序列切分為識別字與運算子等token(詞元)
  3. C檢查變數的型別是否一致,以及是否使用了未定義的名稱
查看答案與解析

正確答案:B. 將原始碼的字元序列切分為識別字與運算子等token(詞元)

詞法分析是編譯器的第一個階段,例如會將「count = count + 1;」切分為識別字count、符號=、識別字count、符號+、數值1、符號;這些token。空白與註解也會在這個階段移除。token的規則可以用正規表示式描述,因此能以有限自動機高速處理。以樹狀結構檢查是否符合文法的是下一階段的語法分析,檢查型別與名稱的則是語意分析的工作。

  • A. 以樹狀結構檢查文法的是語法分析。
  • B. 正確。這是將字元序列切分為token的階段。
  • C. 檢查型別與名稱的是語意分析。
練習這個領域 前往領域頁面

編譯器的其他題目

  1. 關於編譯器的語法分析所進行的工作,下列何者正確?
  2. 下列何者最適合作為編譯器的語意分析所能發現的錯誤範例?
  3. 關於抽象語法樹(AST)的特徵,下列何者正確?
  4. 編譯器內部使用不依賴來源語言、也不依賴CPU的中介表示(IR),其主要優點為何?
  5. 關於基本區塊的說明,下列何者正確?

這個領域的比較