Q67.
編譯程式語言時,在那一個階段會建立剖析表(Parse Table)?
電腦軟體設計共同科目 · 乙級 · Q67
難易度分析
2 / 5
本題要求考生能精確區分編譯器不同階段的特定產物,屬於對核心術語定義的直接記憶與對照,無複雜的邏輯推論或陷阱。
正確答案:②語法分析
② 語法分析:語法分析階段會根據上下文無關文法(CFG)建立剖析表(Parse Table),用於指導剖析器(如 LL 剖析器或 LR 剖析器)判斷 Token 序列是否符合語言的語法結構,並產生抽象語法樹(AST)。
錯誤選項解析
- ① 詞彙分析:詞彙分析階段負責將原始程式碼拆解為語彙單元(Token),並建立符號表,而非剖析表。此階段使用正規表示式與有限狀態自動機(FSA)進行模式比對。
- ③ 語意分析:語意分析階段主要檢查程式的型別相容性、變數宣告與作用域規則,使用語法樹與符號表進行靜態語意檢查,不涉及剖析表的建立。
- ④ 程式碼產生:程式碼產生階段負責將中間表示式(IR)或抽象語法樹轉換為目標機器碼或組合語言,此階段關注的是暫存器配置與指令選擇,與剖析表無關。
Learning Tip
"編譯器各階段產物為常考重點:詞彙分析產生 Token 流、語法分析建立剖析表與抽象語法樹、語意分析進行型別檢查、程式碼產生輸出目標碼。請注意區分剖析表(語法分析用)與符號表(跨階段共用)的不同用途,以及 LL 剖析表(預測分析表)與 LR 剖析表(ACTION/GOTO 表)皆屬於語法分析階段的產物。"
學員答題分佈
①詞彙分析0%
②語法分析0%
③語意分析0%
④程式碼產生0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!