public void TestParsing15() {
// S -> aSa | bSb | ε
var g = new Grammar(new List<Production> {
CFGParser.Production(@"<S> -> 'a' <S> 'a'"),
CFGParser.Production(@"<S> -> 'b' <S> 'b'"),
CFGParser.Production(@"<S> -> ε"),
}, Nonterminal.Of("S"));
var sentences = new List<Sentence> {
Sentence.FromLetters("ab"),
Sentence.FromLetters("abc"),
Sentence.FromLetters("aaa"),
Sentence.FromLetters("abbba"),
Sentence.FromLetters(""),
Sentence.FromLetters("aa"),
Sentence.FromLetters("bb"),
Sentence.FromLetters("abba"),
Sentence.FromLetters("baab"),
Sentence.FromLetters("aaaa"),
Sentence.FromLetters("bbbb"),
Sentence.FromLetters("aaabbabbabbaaa"),
};
ExecuteTest(g, sentences);
}