// Mike Maxim
// IR Expression translator

package edu.cmu.cs.l3.translate;

import edu.cmu.cs.l3.general.*;
import edu.cmu.cs.l3.symbol.Symbol;
import edu.cmu.cs.l3.temp.Label;
import edu.cmu.cs.l3.absyn.*;
import edu.cmu.cs.l3.frame.*;
import edu.cmu.cs.l3.general.*;
import edu.cmu.cs.l3.errormsg.*;
import edu.cmu.cs.l3.semant.*;
import edu.cmu.cs.l3.tree.*;

public abstract class TranslateExpression extends Translate {

    public TranslateExpression(Frame curframe, ErrorMsg m, TranslateEnvironment t) {
	super(curframe,m,t);
    }

    abstract public IRExpression asExpression();
    abstract public IRStatement asStatement();
    abstract public IRStatement asConditional(Label t, Label f);
}

