以下是我試圖查看它是否含糊不清的一段語法的摘錄。檢查語法歧義
Y->b
Y->Z
Z->bW
W->d
W->ϵ
當我計算第一套語法我偶然發現了這種不規則的第一Y.
First(Y) = {b,First(Z)}
First of Z = b so I have the set First(Y)={b,b}.
的我想知道的是,足以證明語法給出這方面的證據是否具有模糊性。或者應該設置爲First(Y) = {b}
。
以下是我試圖查看它是否含糊不清的一段語法的摘錄。檢查語法歧義
Y->b
Y->Z
Z->bW
W->d
W->ϵ
當我計算第一套語法我偶然發現了這種不規則的第一Y.
First(Y) = {b,First(Z)}
First of Z = b so I have the set First(Y)={b,b}.
的我想知道的是,足以證明語法給出這方面的證據是否具有模糊性。或者應該設置爲First(Y) = {b}
。
爲了證明語法是不明確的,你只需要證明至少有兩種不同的方法來達到結果。
考慮你的榜樣,並考慮你的編輯,你確實有一個模糊的語法,因爲你可以通過導出表情b
:
Y -> b
Y -> Z
Z -> bW
Y -> d
W -> ϵ
第一種方式:
Y -> b
第二種方式:
Y -> Z
Y -> Z -> bW
Y -> Z -> bW -> bϵ
Y -> Z -> bW -> bϵ -> b
這是一個模棱兩可的語法。
我應該注意到E在這個例子中實際上是epsilon,所以你是對的。 –
@StephenHynes編輯考慮您的評論! – Rubens
我認爲你已經證明的是,它不是LL1 –
只是意味着我必須完成它並構建解析表。只是好奇看到這樣的一套。 –