證明以下文法是 LR(1) 的\nS → A a |b A c |B c | b B a\nA → d\nB → d
解決方案
步驟1 - 構造擴充文法
(0) S′ → S
(1) S → A a
(2) S → b A c
(3) S → B c
(4) S → b B a
(5) A → d
(6) B → d
步驟2 - 查詢閉包和 goto。構造 LR(1) 專案集。這裡所有框都表示新狀態。

LR(1) 分析表

因此,LR(1) 分析表沒有多個條目。文法是 LR(1) 的。
LR(1) 或規範 LR 分析表的構造
輸入 - 擴充文法 G’。
輸出 - 規範 LR(1) 分析表
方法
填充“移進”條目 (s) - 應用 CLR 分析表構造的規則 (2a)。
考慮 I3 = goto(I0, c)
∴ Action[0, c] = shift 3
∴ 在第 0 行和第 c 列前面寫入 s3。
類似地,考慮另一個條目。
即,I7 = goto(I2, d)
∴ Action[2, d] = shift 7
∴ 在第 2 行和第 d 列前面寫入 s7。類似地,移進的其他條目填充到 Action 表中。
填充“歸約”條目 (r)
應用 CLR 分析表構造的規則 (2b)。考慮形如 A → α ∙ , a 的產生式
例如,考慮
I4 = goto(I0, d)
C → d ∙, c | d
這裡,C → d ∙, c | d 具有 A → α ∙ , a 的形式。因此,將 Action[4, c] 和 Action[4, d] 設定為 r3。
因為 C → d 是給定問題中第 3 個產生式。
∴ 在第 4 行和第 c 列和 d 列前面寫入 r3。
因為 c、d 在產生式 C → d ∙ , c | d 中是前瞻符號。
考慮另一個例子
I9 = goto(I9, C)
C → c C ∙, $
因為 C → c C 是給定問題中的產生式 (2)。
∴ 在第 9 行和第 $ 列前面寫入 r2,因為 $ 是附加到產生式的先行符號。
∴ Action[9, $] = r2
類似地,將所有歸約條目填充到分析表中。
goto 條目的填充
在 goto 中,只有非終結符以列的形式出現。
例如
I8 = goto(I3, C)
∴ Action[3, C] = 8
即,在第 3 行和第 C 列前面寫入 8。
“接受”條目的填充
應用 CLR 分析表的規則 (2c)
查詢包含形如 S′ → S ∙, $ 的產生式的狀態
∴ 它是狀態 I1
∴ 在第 1 行和第 $ 列前面寫入 accept。

- 相關文章
- 找出以下文法的 FIRST 和 FOLLOW。\nS → A a A | B b B\nA → b B\nB → ε
- $\triangle A B C$ 是一個等腰三角形,使得 $A B=A C$,$A D \perp B C$a) 證明 $\triangle A B D \cong \triangle A C D$b) 證明 $\angle B=\angle C$c) D 是 BC 的中點嗎?\n
- 為以下文法構造 SLR(1) 分析表\nS → x A y |x B y |x A z\nA → q s | q\nB → q
- 在 \( \triangle A B C, A D \perp B C \) 和 \( A D^{2}=B D . C D \) 中。證明 \( \angle B A C=90^o \)。"\n
- 在四邊形 \( A B C D, \angle B=90^{\circ}, A D^{2}=A B^{2}+B C^{2}+C D^{2}, \) 中,證明 $\angle A C D=90^o$。
- 證明\( \frac{a+b+c}{a^{-1} b^{-1}+b^{-1} c^{-1}+c^{-1} a^{-1}}=a b c \)
- ABCD 是一個四邊形,其中 \( A D=B C \) 和 \( \angle D A B=\angle C B A \)。證明。(i) \( \triangle A B D \cong \triangle B A C \)(ii) \( B D=A C \)(iii) $\angle ABD=\angle BAC$ "\n
- 頂點為 \( (a, b+c),(b, c+a) \) 和 \( (c, a+b) \) 的三角形的面積是(A) \( (a+b+c)^{2} \)(B) 0(C) \( a+b+c \)(D) \( a b c \)
- 驗證對於以下每個 $a$、$b$ 和 $c$ 的值,$a ÷ (b+c) ≠ (a ÷ b) + (a ÷ c)$。(a) $a=12$、$b=- 4$、$c=2$(b) $a=(-10)$、$b = 1$、$c = 1$
- 證明:\( \left(x^{a-b}\right)^{a+b}\left(x^{b-c}\right)^{b+c}\left(x^{c-a}\right)^{c+a}=1 \)
- 如果 \( a b c=1 \),證明 \( \frac{1}{1+a+b^{-1}}+\frac{1}{1+b+c^{-1}}+\frac{1}{1+c+a^{-1}}=1 \)
- \( A B \) 是直徑,\( A C \) 是以 \( O \) 為圓心的圓的弦,使得 \( \angle B A C=30^{\circ} \)。在 \( C \) 處的切線與 \( A B \) 相交於一點 \( D \)。證明 \( B C=B D \)。
- 以下哪些是接觸力?A. 摩擦力 B. 萬有引力C. 磁力D. 肌肉力$(a)$. A 和 B$(b)$. B 和 C $(c)$. A 和 D$(d)$. B 和 D
- 計算以下各式的和:$a-b+a b, b-c+b c, c-a+a c$
- 鈉的化學符號是(a) So(b) Sd(c) NA(d) Na
開啟你的 職業生涯
透過完成課程獲得認證
立即開始