回文的 BNF 文法

BNF grammar for a palindrome

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

例如,字符串 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

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

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