|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.millscript.millscript.expr.Expr<A>
org.millscript.millscript.expr.BinaryOpExpr<A>
public abstract class BinaryOpExpr<A extends Action>
This class represents binary opereration syntax. A binary operation is one which returns a single result, from two single inputs. This means the left and right hand side expressions must produce single results, and that the expression as a whole will return a single result.
AppendExpr,
BinaryOpAction| Constructor Summary | |
|---|---|
BinaryOpExpr(Expr<?> a,
Expr<?> b)
Creates a new binary operation expression with the specified left and right hand side expressions. |
|
| Method Summary | |
|---|---|
A |
compileIt()
Compiles this expression into an action. |
abstract A |
newAction(Action a,
Action b)
Compiles this expression into an action. |
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 |
|---|
public BinaryOpExpr(Expr<?> a,
Expr<?> b)
a - the left hand side expression, which must return a single
resultb - the right hand side expression, which must return a single
result| Method Detail |
|---|
public final A compileIt()
Expr
compileIt in class Expr<A extends Action>Action for this expressionExpr.compileIt()
public abstract A newAction(Action a,
Action b)
a - the compiled left hand side expressionb - the compiled right hand side expression
Action for this expressioncompileIt()public void resolve(CompilerState state)
ExprNameExpr 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.
resolve in class Expr<A extends Action>state - the compiler state we are resolving inExpr.resolve(org.millscript.millscript.vm.CompilerState)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||