atom ::= NUMBER | '(' expr ')'

def n_atom(self, node):
        """atom ::= NUMBER | '(' expr ')' """
        length = len(node)
        if length == 1:
            self.preorder(node[0])
            node.value = node[0].value
            self.prune()
        elif length == 3:
            self.preorder(node[1])
            node.value = node[1].value
            self.prune()
        else:
            assert False, "Expecting atom to have length 1 or 3"