題組內容
⑵使用最左推導(leftmost derivation),推導出 1 *(2 + 3)一句。(6 分)
詳解 (共 1 筆)
步驟
- 開始變數 EEE:
EEE
- 推導最左邊的 EEE 為 TTT:
E→TE \rightarrow TE→T
- 推導最左邊的 TTT 為 T∗FT * FT∗F:
T→T∗FT \rightarrow T * FT→T∗F
- 推導最左邊的 TTT 為 FFF:
T→F∗FT \rightarrow F * FT→F∗F
- 推導最左邊的 FFF 為 1:
F→1F \rightarrow 1F→1
T→1∗FT \rightarrow 1 * FT→1∗F
- 推導最左邊的 FFF 為 (E)( E )(E):
F→(E)F \rightarrow ( E )F→(E)
T→1∗(E)T \rightarrow 1 * ( E )T→1∗(E)
- 推導最左邊的 EEE 為 E+TE + TE+T:
E→E+TE \rightarrow E + TE→E+T
T→1∗(E+T)T \rightarrow 1 * ( E + T )T→1∗(E+T)
- 推導最左邊的 EEE 為 TTT:
E→T+TE \rightarrow T + TE→T+T
T→1∗(T+T)T \rightarrow 1 * ( T + T )T→1∗(T+T)
- 推導最左邊的 TTT 為 FFF:
T→F+TT \rightarrow F + TT→F+T
T→1∗(F+T)T \rightarrow 1 * ( F + T )T→1∗(F+T)
- 推導最左邊的 FFF 為 2:
F→2F \rightarrow 2F→2
T→1∗(2+T)T \rightarrow 1 * ( 2 + T )T→1∗(2+T)
- 推導最左邊的 TTT 為 FFF:
T→FT \rightarrow FT→F
T→1∗(2+F)T \rightarrow 1 * ( 2 + F )T→1∗(2+F)
- 推導最左邊的 FFF 為 3:
F→3F \rightarrow 3F→3
T→1∗(2+3)T \rightarrow 1 * ( 2 + 3 )T→1∗(2+3)
最終推導結果
E→T→T∗F→F∗F→1∗F→1∗(E)→1∗(E+T)→1∗(T+T)→1∗(F+T)→1∗(2+T)→1∗(2+F)→1∗(2+3)E \rightarrow T \rightarrow T * F \rightarrow F * F \rightarrow 1 * F \rightarrow 1 * ( E ) \rightarrow 1 * ( E + T ) \rightarrow 1 * ( T + T ) \rightarrow 1 * ( F + T ) \rightarrow 1 * ( 2 + T ) \rightarrow 1 * ( 2 + F ) \rightarrow 1 * ( 2 + 3 )E→T→T∗F→F∗F→1∗F→1∗(E)→1∗(E+T)→1∗(T+T)→1∗(F+T)→1∗(2+T)→1∗(2+F)→1∗(2+3)
這樣,我們使用最左推導成功推導出 1 * (2 + 3)。