def test_simpleTestShouldNotChange(self): g = Grammar(terminals=[0, 1], nonterminals=[S, A, B], rules=[RuleSto0, RuleStoA, RuleAtoAB, RuleBto1], start_symbol=S) ContextFree.remove_useless_symbols(g) self.assertTrue(g.have_term([0, 1])) self.assertTrue(g.have_nonterm([S, A, B]))
def setUp(self): self.g = Grammar(terminals=[My], nonterminals=[S], rules=[R], start_symbol=S) ContextFree.remove_useless_symbols(self.g, transform_grammar=True) ContextFree.remove_rules_with_epsilon(self.g, transform_grammar=True) ContextFree.remove_unit_rules(self.g, transform_grammar=True) ContextFree.remove_useless_symbols(self.g, transform_grammar=True) ContextFree.transform_to_chomsky_normal_form(self.g, transform_grammar=True)
def test_simpleTestShouldChange(self): g = Grammar(terminals=[0, 1], nonterminals=[S, A, B], rules=[RuleSto0, RuleStoA, RuleAtoAB, RuleBto1], start_symbol=S) ContextFree.remove_useless_symbols(g, transform_grammar=True) self.assertTrue(g.have_term(0)) self.assertFalse(g.have_term(1)) self.assertTrue(g.have_nonterm(S)) self.assertFalse(g.have_nonterm(A)) self.assertFalse(g.have_nonterm(B))
def test_simpleTest(self): g = Grammar(terminals=[0, 1], nonterminals=[S, A, B], rules=[RuleSto0, RuleStoA, RuleAtoAB, RuleBto1], start_symbol=S) com = ContextFree.remove_useless_symbols(g) self.assertTrue(com.have_term(0)) self.assertFalse(com.have_term(1)) self.assertTrue(com.have_nonterm(S)) self.assertFalse(com.have_nonterm(A)) self.assertFalse(com.have_nonterm(B))