司法三等申論題
107年
[檢察事務官電子資訊組] 程式語言
第 一 題
一、在程式語言中,請舉例並說明何謂混淆的文法(ambiguous grammar)?(20 分)
📝 此題為申論題
思路引導 VIP
看到「混淆的文法」,應立即想到其學術定義:同一字串能產生兩棵以上的剖析樹(Parse Tree)或兩種以上的最左/最右推導。解題時強烈建議使用『四則運算式』或『懸空 else (dangling-else)』作為經典例子,並實際列出推導過程證明其歧義性,最後補充編譯器如何透過制定優先權與結合律來解決此問題,以展現對編譯器底層機制的深刻理解。
🤖
AI 詳解
AI 專屬家教
【破題】 「混淆的文法(Ambiguous Grammar)」是指在一個上下文無關文法(Context-Free Grammar, CFG)中,存在至少一個合法的句子(字串),能夠產生兩棵(含)以上不同的「剖析樹(Parse Tree)」,或存在兩種以上不同的「最左推導(Leftmost Derivation)」或「最右推導(Rightmost Derivation)」。 【論述】
▼ 還有更多解析內容