[英]Context free grammar and pda for given language
我有一種上下文無關的語言,我必須為其創建一個上下文無關的語法以及確定性或非確定性的下推自動機。 我嘗試了不同的生產規則並使用 jflap 模擬它們,但不幸的是不成功。
任何類型的指導方針都值得贊賞。
L = { s1@s2@s3@…@sk | k > 1
∧ si ∈ {0,1}*
∧ ∃i,j i≠j ∧ si=sjR
}
L 中的字符串示例有:{01@10, 110@11111@011, ...}
正式的定義有點難以解析,但這是我從中得到的:
假設這是語言,我們的策略將是首先執行第 3 個條件,然后執行第 1 個條件,然后執行第 2 個條件。 為了強制執行第 3 個,我們將要求輸入至少一對彼此相反的字符串:
S -> 0S0 | 1S1
這給了我們 wSw^R 形式的字符串。 現在,我們希望能夠在前面、中間或后面添加其他字符串,全部用@分隔:
S -> 0S0 | 1S1
S -> T@S | S@T | @T@ | @
最后,我們需要讓 T 生成 0 和 1 的字符串:
S -> 0S0 | 1S1
S -> T@S | S@T | @T@ | @
T -> 0T | 1T | e
要生成語言中的任何字符串:
這種語言的 PDA 可以執行以下操作:
你在這里做了兩個不確定的猜測:首先,你猜測將有反轉的字符串。 其次,你猜你找到了它。 如果這兩個猜測都是正確的(並且它們將適用於語言中的任何字符串,至少對於一對 k(k+1)/2 猜測)然后 NPDA 接受。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.