public void JunkLanguages() {
// S → ASA | aB
// A → B | S
// B → b | ε
//var productions = new List<Production> {
// new Production(
// Nonterminal.Of("S"),
// new Sentence { Nonterminal.Of("A"), Nonterminal.Of("S"), Nonterminal.Of("A") }
// ),
// new Production(
// Nonterminal.Of("S"),
// new Sentence { Terminal.Of("a"), Nonterminal.Of("B") }
// ),
// new Production(
// Nonterminal.Of("A"),
// new Sentence { Nonterminal.Of("B") }
// ),
// new Production(
// Nonterminal.Of("A"),
// new Sentence { Nonterminal.Of("S") }
// ),
// new Production(
// Nonterminal.Of("B"),
// new Sentence { Terminal.Of("b") }
// ),
// new Production(
// Nonterminal.Of("B"),
// new Sentence { }
// )
//};
//S → AbB | C
//B → AA | AC
//C → b | c
//A → a | ε
//var productions = new List<Production> {
// new Production(
// Nonterminal.Of("S"),
// new Sentence { Nonterminal.Of("A"), Terminal.Of("b"), Nonterminal.Of("B") }
// ),
// new Production(
// Nonterminal.Of("S"),
// new Sentence { Nonterminal.Of("C") }
// ),
// new Production(
// Nonterminal.Of("B"),
// new Sentence { Nonterminal.Of("A"), Nonterminal.Of("A") }
// ),
// new Production(
// Nonterminal.Of("B"),
// new Sentence { Nonterminal.Of("A"), Nonterminal.Of("C") }
// ),
// new Production(
// Nonterminal.Of("C"),
// new Sentence { Terminal.Of("b") }
// ),
// new Production(
// Nonterminal.Of("C"),
// new Sentence { Terminal.Of("c") }
// ),
// new Production(
// Nonterminal.Of("A"),
// new Sentence { Terminal.Of("a") }
// ),
// new Production(
// Nonterminal.Of("A"),
// new Sentence { }
// )
//};
//var productions = new List<Production> {
// new Production(
// Nonterminal.Of("S"),
// new Sentence { Nonterminal.Of("NP"), Nonterminal.Of("VP") }
// ),
// new Production(
// Nonterminal.Of("NP"),
// new Sentence { Nonterminal.Of("N") }
// ),
// new Production(
// Nonterminal.Of("NP"),
// new Sentence { Nonterminal.Of("Det"), Nonterminal.Of("N") }
// ),
// new Production(
// Nonterminal.Of("VP"),
// new Sentence { Nonterminal.Of("V") }
// ),
// new Production(
// Nonterminal.Of("VP"),
// new Sentence { Nonterminal.Of("V"), Nonterminal.Of("PP") }
// ),
// new Production(
// Nonterminal.Of("PP"),
// new Sentence { Nonterminal.Of("Prep"), Nonterminal.Of("NP") }
// ),
// new Production(
// Nonterminal.Of("N"),
// new Sentence { Terminal.Of("boy") }
// ),
// new Production(
// Nonterminal.Of("N"),
// new Sentence { Terminal.Of("cat") }
// ),
// new Production(
// Nonterminal.Of("N"),
// new Sentence { Terminal.Of("trampoline") }
// ),
// new Production(
// Nonterminal.Of("Prep"),
// new Sentence { Terminal.Of("of") }
// ),
// new Production(
// Nonterminal.Of("Prep"),
// new Sentence { Terminal.Of("through") }
// ),
// new Production(
// Nonterminal.Of("V"),
// new Sentence { Terminal.Of("kicked") }
// ),
// new Production(
// Nonterminal.Of("V"),
// new Sentence { Terminal.Of("works") }
// ),
// new Production(
// Nonterminal.Of("Det"),
// new Sentence { Terminal.Of("a") }
// ),
// new Production(
// Nonterminal.Of("Det"),
// new Sentence { Terminal.Of("the") }
// ),
//};
}
public void RandomTesting() {