summaryrefslogtreecommitdiff
path: root/src/rewriter/rule.py
blob: 164bf8dc13b676503b0755c1b8da72a7cc7506c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Rule:
    def __init__(self, name, bvars, cond, lhs, rhs, is_fixed_point, rhs_context):
        self.name = name
        self.bvars = bvars
        self.cond = cond
        self.lhs = lhs
        self.rhs = rhs
        self.is_fixed_point = is_fixed_point
        self.rhs_context = rhs_context

    def get_enum(self):
        return self.name.replace('-', '_').upper()

    def __repr__(self):
        bvars_str = ' '.join(str(bvar) for bvar in self.bvars)
        rhs_context_str = f' {self.rhs_context}' if self.rhs_context else ''
        return f"(define-rule {self.name} ({bvars_str}) {self.lhs} {self.rhs}{rhs_context_str})"
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback