國家安全情報人員考試五等考試-資訊組資料處理大意110 年第 2 題單選題
請問將程式原始碼(Source Code)轉換至可執行碼(Object Code)之編譯過程中,其中將符號(Symbol)轉為標記(Token)的轉換工具,是下列那一個?
A詞法分析器(Lexical Analyzer)正確答案
B語法分析器(Syntax Analyzer)
C語意分析器(Semantic Analyzer)
D碼產生器(Code Generator)
A正確答案
編譯器第一步:詞法分析器把原始碼字元切成一個個 Token(標記)。
為什麼答案是 A
詞法分析器(Lexical Analyzer)負責掃描原始碼字元流,將其切割並辨識成一個個有意義的標記(Token),例如關鍵字、識別字、運算符、常數等,是編譯過程第一階段。
載入中…
完整詳解
Pro · 無限重點 編譯器第一步:詞法分析器把原始碼字元切成一個個 Token(標記)。
看到「符號→Token」直接選 Lexical Analyzer,這是編譯四階段的第一關。
逐選項分析
A✓ 正確
詞法分析器(Lexical Analyzer)負責掃描原始碼字元流,將其切割並辨識成一個個有意義的標記(Token),例如關鍵字、識別字、運算符、常數等,是編譯過程第一階段。
B✕ 陷阱
語法分析器(Syntax Analyzer / Parser)是第二階段,接收 Lexical Analyzer 產生的 Token 串,依文法規則建構語法樹(Parse Tree),檢查句型結構是否正確,不是產生 Token。
C✕
語意分析器(Semantic Analyzer)是第三階段,檢查語法樹的語意正確性,例如型別相符、變數是否宣告等,與 Token 產生無關。
D✕
碼產生器(Code Generator)是編譯最後階段,負責將中間碼轉換成目標機器碼(Object Code),屬後端處理,非處理 Token。
編譯器四大階段速記
| 階段 | 工具 | 輸入 | 輸出 |
|---|
| 1. 詞法分析 | Lexical Analyzer | 原始碼字元 | Token 串 |
| 2. 語法分析 | Syntax Analyzer | Token 串 | 語法樹 |
| 3. 語意分析 | Semantic Analyzer | 語法樹 | 標註語法樹 |
| 4. 碼產生 | Code Generator | 中間碼 | 目標碼 |
Lexical(詞法)和 Syntax(語法)中文只差一字,考生容易混淆。記住:「符號→Token」是最底層的字元處理,屬於 Lexical;「Token→語法結構」才是 Syntax。順序是:字元 → Token → 語法樹 → 語意 → 目標碼。