簡體   English   中英

我怎樣才能推導出這些語法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM