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

第 一 題

📖 題組:
給予一個 grammar for expression 如下: -> = -> X | Y | Z -> + | -> * | -> ( )| (一)試列出 X = Y + Z * X 之剖析樹(parse tree)。(10 分) (二)該剖析樹是唯一嗎?(5 分)
📝 此題為申論題,共 2 小題

小題 (一)

試列出 X = Y + Z * X 之剖析樹(parse tree)。(10 分)

思路引導 VIP

面對剖析樹(Parse Tree)繪製題,首先應辨識文法的起始符號與目標字串。接著分析文法結構,此文法將加法置於乘法之上層,確保了乘法具備較高的優先權(在樹狀結構中會位於較深層的葉節點)。依循此層級規則由上而下逐步展開非終結符號即可正確解題。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用給定的語法規則,將目標字串由上而下(Top-down)進行推導。須注意加法在語法規則的較上層,乘法在較下層,藉此反映並維持正確的運算子優先順序。 【詳解】 目標字串:X = Y + Z * X

小題 (二)

該剖析樹是唯一嗎?(5 分)

思路引導 VIP

看到這題,應先判斷給定的文法是否為「模糊文法」(Ambiguous Grammar)。觀察此文法透過 <expr>、<term>、<factor> 的階層設計,嚴格定義了運算子的優先權(乘法高於加法)與結合性(左遞迴確保左結合),因此它是無歧義的,剖析樹必然唯一。

🤖
AI 詳解
AI 專屬家教

【破題】該剖析樹是唯一的。 【論述】 一、唯一性原因

升級 VIP 解鎖