回文的BNF语法

时间:2015-06-21 05:56:43

标签: bnf ebnf

我需要非扩展BNF语法的帮助:

  • Σ= {a,b}

  • L = {ωɛΣ^ * |使得w等于ω}

  • 的反向

例如,字符串aba,bab和ababa在语言中,但字符串ababab不是。

我不确定这是否是一个解决方案,但这是我在网上找到的,我想知道我是否朝着正确的方向前进:

<palindrome> ::= a <palindrome> a | b <palindrome> b |
                 c <palindrome> c | d <palindrome> d | 
                 e <palindrome> e | ...
                                  | z <palindrome> z
<palindrome> ::= <letter>
<letter>     ::= a | b | c | ... | y | z

1 个答案:

答案 0 :(得分:2)

至少你必须包含偶数个字符的单词,所以:

<palindrome> ::= a | b | aa | bb | a<palindrome>a | b<palindrome>b