Esempio n. 1
0
 def add_rule(self, rule: Rule):
     if (self.aaa_rules_handling_type is not AaaRulesHandlingType.NO_AAA_RULES
             or not rule.is_non_terminal_to_terminal_terminal_rule()) and \
                     rule not in self.forbidden_rules:
         self.rules.add(rule)
         if rule.is_terminal(self.aaa_rules_handling_type):
             self.terminal_rules.add(rule)
         else:
             self.non_terminal_rules.add(rule)
Esempio n. 2
0
 def test_is_non_terminal_to_terminal_terminal_rule_failure(self):
     rule = Rule([self.left, self.rightTerminal])
     self.assertFalse(rule.is_non_terminal_to_terminal_terminal_rule())
Esempio n. 3
0
 def test_is_non_terminal_to_terminal_terminal_rule(self):
     rule = Rule([self.left, self.rightTerminal, self.rightTerminal])
     self.assertTrue(rule.is_non_terminal_to_terminal_terminal_rule())