1 pnkfelix 1.1.2.1 // TempBuilder.java, created Thu Oct 21 17:25:43 1999 by pnkfelix 2 pnkfelix 1.1.2.1 // Copyright (C) 1999 Felix S. Klock II <pnkfelix@mit.edu> 3 pnkfelix 1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details. 4 pnkfelix 1.1.2.1 package harpoon.Backend.Generic; 5 pnkfelix 1.1.2.1 6 pnkfelix 1.1.2.1 import harpoon.Temp.Temp; 7 pnkfelix 1.1.2.1 import harpoon.Temp.TempFactory; 8 pnkfelix 1.1.2.1 import harpoon.IR.Tree.Typed; 9 pnkfelix 1.1.2.1 import harpoon.Util.Util; 10 pnkfelix 1.1.2.1 11 pnkfelix 1.1.2.1 /** <code>TempBuilder</code> defines an interface that general program 12 pnkfelix 1.1.2.1 transformations can call to generate data structures to represent 13 pnkfelix 1.1.2.1 <code>Temp</code>s. 14 pnkfelix 1.1.2.1 <p> 15 pnkfelix 1.1.2.1 This allows Backend writers to make their own extensions of 16 pnkfelix 1.1.2.1 <code>Temp</code> to make handling different value types easier. 17 pnkfelix 1.1.2.1 18 pnkfelix 1.1.2.1 @author Felix S. Klock II <pnkfelix@mit.edu> 19 cananian 1.2 @version $Id: TempBuilder.java,v 1.2 2002/02/25 21:01:28 cananian Exp $ 20 pnkfelix 1.1.2.1 */ 21 pnkfelix 1.1.2.1 public abstract class TempBuilder { 22 pnkfelix 1.1.2.1 23 pnkfelix 1.1.2.1 /** Creates a <code>TempBuilder</code>. */ 24 pnkfelix 1.1.2.1 public TempBuilder() { 25 pnkfelix 1.1.2.1 26 pnkfelix 1.1.2.1 } 27 pnkfelix 1.1.2.1 28 pnkfelix 1.1.2.1 /** Makes a <code>Temp</code> for storing values with the same 29 pnkfelix 1.1.2.1 type as <code>t</code>. 30 pnkfelix 1.1.2.1 */ 31 pnkfelix 1.1.2.1 public abstract Temp makeTemp(Typed t, TempFactory tf); 32 pnkfelix 1.1.2.1 33 pnkfelix 1.1.2.1 34 cananian 1.2 }