免費開始練習
地特三等申論題 106年 [電力工程] 計算機概論

第 一 題

📖 題組:
四、下列為某一語言之 BNF(Backus-Naur Form)表示法: ::= = ::= + | | * | ::= A | B | C | D | E ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
📝 此題為申論題,共 2 小題

小題 (一)

C = 8 + 3 * 2 – 5 是否合乎此語法?請詳細說明理由。(10 分)

思路引導 VIP

看到 BNF 語法判斷題,首先找出起始符號(通常為第一條規則左側的非終結符),並嘗試透過逐步推導(Derivation)或建構剖析樹(Parse Tree)來生成目標字串。若能成功推導出該字串,即代表合乎語法;反之則否。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用題目給定的 BNF 規則,嘗試從起始符號進行逐步推導,若能生成目標字串,即證明其合乎語法。 【詳解】 已知目標字串為:C = 8 + 3 * 2 - 5

小題 (二)

請問此語法是否為混淆的(ambiguous)?請詳細解釋理由。(10 分)

思路引導 VIP

遇到判斷文法是否為混淆(ambiguous)的問題,首要關鍵是回憶其定義:『若一個文法能為同一個字串產生兩棵以上的剖析樹(或兩種以上不同的最左推導),則該文法即為混淆的』。解題策略是直接構造一個包含多個運算子的簡單字串(如 A = 1 + 2 * 3),並實際寫出兩種不同的推導過程來作為嚴謹的證明。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用文法模糊性(ambiguity)的定義,證明是否存在一個字串可產生兩棵以上不同的剖析樹或最左推導。 【詳解】 已知:判斷文法是否混淆(ambiguous)的標準為「是否存在至少一個合法字串,具有兩種以上不同的最左推導(Leftmost Derivation)或剖析樹(Parse Tree)」。

升級 VIP 解鎖