[英]Context-Free Grammar of language {a^i b^j c^i}
在練習期間,我應該為以下語言編寫上下文無關語法:
我不確定我是否完全理解這種方法,但這就是我得到的。
由於我們至少需要 1 個c被任何相等數量的a和b包圍(可能為零),我想出了以下 CFG:
T --> aCb | aTb | C
C --> cS | cC
S --> empty
例如,從上面看,我永遠不能創建一個字符串,其中沒有至少 1 個c 。 但我可以創建一個只有c而沒有a或b的字符串。 類似的我可以使用AA ... c ... s 也是。
但是,我覺得這個 CTF 比需要的要復雜一些。 任何人都可以告訴我如何改進,或者如果它是錯誤的 - 我錯過了什么?
編輯:在rici的一些好的輸入之后,我現在得到的是:
T --> aTb | cC
C --> cC | empty
通過刪除任何冗余(例如可以通過aCb
和C
aTb
以及非終端S
。
消除S
。 除了收取薪水之外,它沒有做任何事情。
T → a C b
是多余的,因為您已經有T → a T b
和T → C
,這顯然可以做同樣的事情(通過按順序應用它們)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.