[英]How can I derivate these Grammar
G = (V={S,X,Y}, T={0,1,2},P,S)
S -> 0X1
X ->S | 00S2 | Y | ε
Y ->X | 1
問題是我不知道如何推導數字..
我怎樣才能在這里推導:00111 ∈ L(G)
在這里我必須給出推導三:0000121 ∈ L(G)
要進行推導,您從開始符號(在本例中為S
)開始,它是語法元組中的第四項)。 然后,您可以按照適合您的任何順序應用生產規則 ( P
)。
像這樣的生產:
X → S | 00S2 | Y | ε
表示您可以將X
替換為
S
00S2
,或Y
, 或換句話說,您閱讀生產規則如下:
→
表示“可以替換為”。|
意思是“或”ε
表示“無”(用無替換符號意味着將其從當前字符串中刪除。)其他一切都只是字符串中的一個可能符號。 你一直在做替換,一次一個,直到你找到你想要導出的字符串。
這是一個簡單的例子:
S
→ 0X1 (using S → 0X1)
→ 000S21 (using X → 00S2)
→ 0000X121 (using S → 0X1)
→ 0000121 (using X → ε)
而已。 一點都不復雜。 只是一堆搜索和替換操作。 (如果有多個可能性,則不需要替換第一個出現的位置。您可以按照自己喜歡的任何順序進行替換。但是系統化很方便。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.