为以下语言生成上下文无关文法:

Generate context free grammar for the following language:

来自字母表 {j,k} 的字符串集,其中字符串可以反转,然后所有 j 变为 k,所有 k 变为 j。

例如 "jjkk" 会出现在该语言中,因为当您反转它时:"kkjj" 并且当您将所有字符翻转为另一个字符时:"jjkk"

"kjk" 不会出现在该语言中,因为当您反转它时:"kjk"(相同)并翻转字符会产生 "jkj",这与起始字符串不同.

字符串不能是奇数长度,因为这样中间的字符就不能翻转。左边的每个 ith 个字符是 j 必须有对应的右边的 k i 个字符。左侧的 ks 和右侧的 js 也是如此。所以:

S ::= ε | jSk | kSj