Block(Node): def __init__(self, statements): self.statements = statements ! class Statement(Node): def __init__(self, expression): self.expression = expression ! class Number(Node): def __init__(self, value): self.value = value ! class Print(Node): def __init__(self, expression): self.expression = expression ! class BinaryOp(Node): def __init__(self, operator, left, right): self.operator = operator self.left = left self.right = right