[英]CFG for string of length 3
我正在嘗試為以下語言創建上下文無關的語法:
L = {w∈{a,b} * | w的格式為a ^ nxb ^ n + 2,其中x是{a,b} *}中任何長度為3的字符串
(a提高到n的冪,b提高到n + 2的冪)
到目前為止,我的解決方案是(_是epsilon):
S-> aSbb | T | _
T-> aT | bT | _
但是,這是不正確的,因為它例如接受字符串abbb。 我的問題是我不了解如何使T成為語法的一部分,如何限制字符串的大小為3? 在{a,b} *中列出所有長度為3的字符串是沒有任何意義的,還是唯一的方法?
另外,我不確定aSbb是否正確,因為我認為我的解決方案現在是a ^ nxb ^ 2n,還是我100%不確定,還是我錯了?
該語言的正確CFG為:
S -> aSb | T
T -> UUUbb
U -> a | b
謝謝大家的幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.