uk.ac.man.cs.rainbow.compiler.expressions
Class BinaryOp

java.lang.Object
  |
  +--uk.ac.man.cs.rainbow.compiler.CompilerThing
        |
        +--uk.ac.man.cs.rainbow.compiler.CompilerNode
              |
              +--uk.ac.man.cs.rainbow.compiler.expressions.Expression
                    |
                    +--uk.ac.man.cs.rainbow.compiler.expressions.BinaryOp
All Implemented Interfaces:
Cloneable, Serializable

public class BinaryOp
extends Expression

See Also:
Serialized Form

Fields inherited from class uk.ac.man.cs.rainbow.compiler.CompilerNode
next, sourcepos
 
Constructor Summary
BinaryOp(SourcePosition sourcepos, Expression left, String op, Expression right)
           
 
Method Summary
 RASMList rasm(CGEnv env)
           
 Constant reduce_to_constant(TCEnv env, Errors errors)
           
 String toString()
           
 Expression typecheckExpr(TCEnv env, Errors errors, CompilerType expected, String context)
           
 
Methods inherited from class uk.ac.man.cs.rainbow.compiler.expressions.Expression
check_nominal, cloneExpression, cloneExpressionNoParent, getSpec, map_accumulate_reduce_to_constant, reduce_to_integer_constant, setSpec, size_allowing_for_repeats, specList, typecheckExprList
 
Methods inherited from class uk.ac.man.cs.rainbow.compiler.CompilerNode
append, appendNotParent, dumpNode, dumpTree, getParent, indent, iterator, list_typecheck, list_typecheck, listLength, listToString, noParent, rasm_list, rasm, setParent, typecheck, typecheck, typecheckGreen, typecheckGreen
 
Methods inherited from class uk.ac.man.cs.rainbow.compiler.CompilerThing
className, crashHere, getSerial
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BinaryOp

public BinaryOp(SourcePosition sourcepos,
                Expression left,
                String op,
                Expression right)
Method Detail

toString

public String toString()
Overrides:
toString in class Expression

typecheckExpr

public Expression typecheckExpr(TCEnv env,
                                Errors errors,
                                CompilerType expected,
                                String context)
Overrides:
typecheckExpr in class Expression

reduce_to_constant

public Constant reduce_to_constant(TCEnv env,
                                   Errors errors)
Overrides:
reduce_to_constant in class Expression

rasm

public RASMList rasm(CGEnv env)
Overrides:
rasm in class CompilerNode