免費開始練習
司法三等申論題 107年 [檢察事務官電子資訊組] 程式語言

第 一 題

一、在程式語言中,請舉例並說明何謂混淆的文法(ambiguous grammar)?(20 分)
📝 此題為申論題

思路引導 VIP

看到「混淆的文法」,應立即想到其學術定義:同一字串能產生兩棵以上的剖析樹(Parse Tree)或兩種以上的最左/最右推導。解題時強烈建議使用『四則運算式』或『懸空 else (dangling-else)』作為經典例子,並實際列出推導過程證明其歧義性,最後補充編譯器如何透過制定優先權與結合律來解決此問題,以展現對編譯器底層機制的深刻理解。

🤖
AI 詳解 AI 專屬家教

【破題】 「混淆的文法(Ambiguous Grammar)」是指在一個上下文無關文法(Context-Free Grammar, CFG)中,存在至少一個合法的句子(字串),能夠產生兩棵(含)以上不同的「剖析樹(Parse Tree)」,或存在兩種以上不同的「最左推導(Leftmost Derivation)」或「最右推導(Rightmost Derivation)」。 【論述】

▼ 還有更多解析內容

升級 VIP 解鎖