| 163 | |
| 164 | print("Example 12") |
| 165 | class AddNodeAlt(NodeAlt): |
| 166 | def __init__(self, left, right): |
| 167 | self.left = left |
| 168 | self.right = right |
| 169 | |
| 170 | def evaluate(self): |
| 171 | left = self.left.evaluate() |
| 172 | right = self.right.evaluate() |
| 173 | return left + right |
| 174 | |
| 175 | |
| 176 | def pretty(self): |
| 177 | left_str = self.left.pretty() |
| 178 | right_str = self.right.pretty() |
| 179 | return f"({left_str} + {right_str})" |
| 180 | |
| 181 | class MultiplyNodeAlt(NodeAlt): |
| 182 | def __init__(self, left, right): |