code: def n_term(self, node):
          
          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"
docs: term ::= term MULT_OP atom | atom