編譯器

關於編譯器的語法分析所進行的工作,下列何者正確?

  1. A從字元序列中移除空白與註解,並切分為單字
  2. B找出經常執行的部分,並在執行時轉換為機器碼
  3. C依照文法檢視token序列,將程式的結構組成樹狀結構
查看答案與解析

正確答案:C. 依照文法檢視token序列,將程式的結構組成樹狀結構

語法分析會檢查詞法分析所得的token序列是否符合語言的文法,並將if敘述的條件與主體、運算式中各運算的組合等結構組成樹狀結構(語法樹)。漏寫分號或括號不成對等文法錯誤,會在這個階段被發現。移除空白並切分為單字的是詞法分析,在執行時轉換為機器碼的則是JIT編譯。

  • A. 切分為單字的是詞法分析。
  • B. 在執行時進行轉換的是JIT編譯。
  • C. 正確。依照文法將結構組成樹狀結構。
練習這個領域 前往領域頁面

編譯器的其他題目

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

這個領域的比較