code: def convertASTtoThreeAddrForm(ast):
      
      return [(node.value, node.reg) + tuple([c.reg for c in node.children])
              for node in ast.allOf('op')]
docs: Convert an AST to a three address form.
  
      Three address form is (op, reg1, reg2, reg3), where reg1 is the
      destination of the result of the instruction.
  
      I suppose this should be called three register form, but three
      address form is found in compiler theory.