1

L给出由字符组成的语言的 EBNF 规范,使得该语言中的句子具有a以下形式bc

L : sqsR

-s   is a string of any combination of the characters a and b
-sR  is that same string s reversed
-q   is an  odd number of c's followed by either an odd number of b's
     or an even number of a’s.

到目前为止我所拥有的:

L -> S
S -> {a}{b}Q
Q -> 

如果这是正确的,我仍然不确定如何生成Q以及如何S反向表示。

4

2 回答 2

2

这是一个以相同字符串开头和结尾的字符串,但相反:

X -> aXa
  -> bXb

这是一个带有奇数个 c 的字符串:

Y -> cY2
Y2 -> ccY2

我遗漏了一些关键的部分,但希望这可以让你开始。

于 2009-04-05T23:43:23.507 回答
1
  • 尝试从中间向外构建前两个部分
  • 您可以通过仅从一项开始并添加 N*2 附加项(对于整数 N)来强制重复奇数次。这也应该建议如何强制使用偶数
于 2009-04-05T23:33:49.613 回答