def n_term(self, node):
        """term ::= term MULT_OP atom | atom"""
        if len(node) == 1:
            self.preorder(node[0])
            node.value = node[0].value
            self.prune()
        else:
            self.preorder(node[0])
            self.preorder(node[2])
            if node[1].attr == '*':
                node.value = node[0].value * node[2].value
            elif node[1].attr == '/':
                node.value = node[0].value / node[2].value
            else:
                assert False, "Expecting operator to be '*' or '/'"
            self.prune()
        assert False, "Expecting atom to have length 1 or 3"