net.sf.farrago.fennel.calc
Interface CalcRexImplementor

All Known Implementing Classes:
CalcRexImplementorTableImpl.AbstractCalcRexImplementor, CalcRexImplementorTableImpl.AddCharSetNameInstrImplementor, CalcRexImplementorTableImpl.BinaryNumericMakeSametypeImplementor, CalcRexImplementorTableImpl.BinaryStringMakeSametypeImplementor, CalcRexImplementorTableImpl.CaseImplementor, CalcRexImplementorTableImpl.CastDecimalImplementor, CalcRexImplementorTableImpl.CastImplementor, CalcRexImplementorTableImpl.CastTimestampToDateImplementor, CalcRexImplementorTableImpl.CastTimestampToTimeImplementor, CalcRexImplementorTableImpl.CastTimeToTimestampImplementor, CalcRexImplementorTableImpl.ConcatImplementor, CalcRexImplementorTableImpl.DatetimeRoundingImplementor, CalcRexImplementorTableImpl.HistogramResultRexImplementor, CalcRexImplementorTableImpl.IdentityImplementor, CalcRexImplementorTableImpl.InstrDefImplementor, CalcRexImplementorTableImpl.IsBoolImplementor, CalcRexImplementorTableImpl.IsNotBoolImplementor, CalcRexImplementorTableImpl.MakeOperandsDoubleImplementor, CalcRexImplementorTableImpl.ReinterpretCastImplementor, CalcRexImplementorTableImpl.SliceImplementor, CalcRexImplementorTableImpl.TimeFunctionImplementor, CalcRexImplementorTableImpl.TrimImplementor, CalcRexImplementorTableImpl.UsingInstrImplementor

public interface CalcRexImplementor

Translates a call to a particular operator to calculator assembly language.

Implementors are held in a CalcRexImplementorTable.

Since:
June 2nd, 2004
Version:
$Id: //open/dev/farrago/src/net/sf/farrago/fennel/calc/CalcRexImplementor.java#1 $
Author:
jhyde

Method Summary
 boolean canImplement(RexCall call)
           
 CalcReg implement(RexCall call, RexToCalcTranslator translator)
          Generates instructions to implement this call, and returns the register which holds the result.
 

Method Detail

implement

CalcReg implement(RexCall call,
                  RexToCalcTranslator translator)
Generates instructions to implement this call, and returns the register which holds the result.


canImplement

boolean canImplement(RexCall call)