C# Class ABT.BinaryComparisonOp

Show file Open project: phisiart/C-Compiler

Public Methods

Method Description
CGenValue ( CGenState state ) : System.Reg
OperateDouble ( CGenState state ) : void

Before: %st(0) = left, %st(1) = right, stack unchanged. After: with SetDouble, %eax = left op right, stack unchanged.

OperateFloat ( CGenState state ) : void

Before: %st(0) = left, %st(1) = right, stack unchanged.

After: with SetFloat, %eax = left op right, stack unchanged.

OperateLong ( CGenState state ) : void
OperateULong ( CGenState state ) : void

Before: %eax = left, %ebx = right, stack unchanged.

After: with SetULong, %eax = left op right, stack unchanged.

SetDouble ( CGenState state ) : void
SetFloat ( CGenState state ) : void
SetLong ( CGenState state ) : void
SetULong ( CGenState state ) : void

Protected Methods

Method Description
BinaryComparisonOp ( Expr left, Expr right ) : System

Method Details

BinaryComparisonOp() protected method

protected BinaryComparisonOp ( Expr left, Expr right ) : System
left Expr
right Expr
return System

CGenValue() public final method

public final CGenValue ( CGenState state ) : System.Reg
state CodeGeneration.CGenState
return System.Reg

OperateDouble() public final method

Before: %st(0) = left, %st(1) = right, stack unchanged. After: with SetDouble, %eax = left op right, stack unchanged.
public final OperateDouble ( CGenState state ) : void
state CodeGeneration.CGenState
return void

OperateFloat() public final method

Before: %st(0) = left, %st(1) = right, stack unchanged.

After: with SetFloat, %eax = left op right, stack unchanged.

public final OperateFloat ( CGenState state ) : void
state CodeGeneration.CGenState
return void

OperateLong() public final method

public final OperateLong ( CGenState state ) : void
state CodeGeneration.CGenState
return void

OperateULong() public final method

Before: %eax = left, %ebx = right, stack unchanged.

After: with SetULong, %eax = left op right, stack unchanged.

public final OperateULong ( CGenState state ) : void
state CodeGeneration.CGenState
return void

SetDouble() public abstract method

public abstract SetDouble ( CGenState state ) : void
state CodeGeneration.CGenState
return void

SetFloat() public abstract method

public abstract SetFloat ( CGenState state ) : void
state CodeGeneration.CGenState
return void

SetLong() public abstract method

public abstract SetLong ( CGenState state ) : void
state CodeGeneration.CGenState
return void

SetULong() public abstract method

public abstract SetULong ( CGenState state ) : void
state CodeGeneration.CGenState
return void