我正在寻找描述以下语言的上下文敏感语法:
L = { ww | w ∈ {a,b}*, |w| ≥ 1} <br>
我遇到的问题是没有规则,例如X - &gt; ε是允许的,因此我不能放置任何表示单词“中间”的非终结符。
这个问题有什么窍门吗?
如果你碰巧知道答案,请帮助。
答案 0 :(得分:2)
当然,这实际上很容易。在上下文敏感的语法中,您可以在LHS上使用字符串;这就是背景。所以,假设你最终得到一个这样的字符串:
abababWababab
好吧,所以你不需要像
这样的规则W := -empty-
优异。这些规则怎么样?
aWa := aa
aWb := ab
bWa := ba
bWb := bb
当然,这意味着您应该避免引入W
,除非您确定要使用非空字符串。