免費開始練習
高考申論題 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 語法,核心在於能否從起始符號(Start Symbol)透過替換規則(Production Rules)推導出該目標字串。考生可運用「最左推導(Leftmost Derivation)」或繪製「剖析樹(Parse Tree)」的方式,逐步展開證明即可,若成功推導即代表合乎語法。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用給定的 BNF 產生規則,透過最左推導(Leftmost Derivation)驗證是否能從起始符號推導出目標字串。 【詳解】 已知條件:

小題 (二)

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

思路引導 VIP

面對文法模糊性問題,首要原則是回顧定義:『同一字串是否能產生兩棵以上的剖析樹或最左推導』。解題時直接鎖定具有左遞迴與右遞迴特性的運算式(如 <expr> + <expr>),這類缺乏運算子優先權與結合性定義的規則必為模糊語法,接著舉出如 'A = 1 + 2 * 3' 的簡單實例,展示兩種不同的推導路徑即可完美取分。

🤖
AI 詳解
AI 專屬家教

【破題】 是的,此語法是混淆的(ambiguous)。 【論述】

🏷️ 相關主題

資料結構與演算法分析應用
查看更多「[電力工程] 計算機概論」的主題分類考古題