org.millscript.millscript.expr
Class RelationalOperationExpr

java.lang.Object
  extended by org.millscript.millscript.expr.Expr<Action>
      extended by org.millscript.millscript.expr.RelationalOperationExpr
All Implemented Interfaces:
OneResult

public final class RelationalOperationExpr
extends Expr<Action>
implements OneResult

This class implements a relation operation expression.


Constructor Summary
RelationalOperationExpr(Expr<?> f, Expr<?> l, Expr<?> r)
          Creates a new relation operation expression for the specified relational operation function and argument expressions.
 
Method Summary
 Action compileIt()
          Compiles this expression into an action.
 Expr getFun()
          Returns the function expression this apply expression will apply.
 Expr getLhs()
          Returns the left hand side argument expression for this relational operation.
 Expr getRhs()
          Returns the right hand side argument expression for this relational operation.
 void resolve(CompilerState state)
          Resolves any NameExpr in the tree so that they refer to the correct ident.
 
Methods inherited from class org.millscript.millscript.expr.Expr
arity, compile, isIntegerExpr, resolveList, setLineNumber, setOrigin, show, show
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RelationalOperationExpr

public RelationalOperationExpr(Expr<?> f,
                               Expr<?> l,
                               Expr<?> r)
Creates a new relation operation expression for the specified relational operation function and argument expressions.

Parameters:
f - the relation operation function expression, which must return a function as a single result
l - the left hand side expression, which must return a single result
r - the right hand side expression, which must return a single result
Method Detail

compileIt

public Action compileIt()
Description copied from class: Expr
Compiles this expression into an action.

Specified by:
compileIt in class Expr<Action>
Returns:
the Action for this expression
See Also:
Expr.compileIt()

getFun

public Expr getFun()
Returns the function expression this apply expression will apply.

Returns:
the expression returning a single function

getLhs

public Expr getLhs()
Returns the left hand side argument expression for this relational operation.

Returns:
the left hand side expression for the relation operation

getRhs

public Expr getRhs()
Returns the right hand side argument expression for this relational operation.

Returns:
the right hand side expression for the relation operation

resolve

public void resolve(CompilerState state)
Description copied from class: Expr
Resolves any NameExpr in the tree so that they refer to the correct ident. e.g. This method is responsible for ensuring that references to a function argument in the body of a function actually refer to the correct value.

Specified by:
resolve in class Expr<Action>
Parameters:
state - the compiler state we are resolving in
See Also:
Expr.resolve(org.millscript.millscript.vm.CompilerState)


Copyright © 2001-2007 Open World Ltd. All Rights Reserved.