def __init__(self, grammar): super(Rule, self).__init__() self.guard = Symbol.guard(grammar, self) self.guard.join(self.guard) self.reference_count = 0 self.unique_number = Rule.unique_rule_number Rule.unique_rule_number += 1