|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--gnu.jel.OP
|
+--gnu.jel.OPbinary
A tree node, representing binary operation.
| Field Summary | |
int |
code
code of this operation |
| Fields inherited from class gnu.jel.OP |
chi, resID, resType, specialTypes, unwrapType |
| Constructor Summary | |
OPbinary(java.util.Stack paramOPs,
int opcode)
Constructs a new binary operation. |
|
| Method Summary | |
void |
compile(ClassFile cf)
Called to generate the code implementing this OP. |
java.lang.Object |
eval()
Called to evaluate this node and all its sub-nodes. |
| Methods inherited from class gnu.jel.OP |
isWidening, isWidening, typeID, typeIDObject |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public int code
| Constructor Detail |
public OPbinary(java.util.Stack paramOPs,
int opcode)
throws CompilationException
Codes are following:
0 -- addition 1 -- substraction 2 -- multiplication 3 -- division 4 -- remainder 5 -- bitwise AND 6 -- bitwise OR 7 -- bitwise and logical XOR 8 -- comparizon for equality 9 -- comparizon for non-equality 10 -- comparizon for "less" < 11 -- comparizon for "greater or equal" >= 12 -- comparizon for "greater" > 13 -- comparizon for "less or equal" <= 14 -- bitwise left shift << 15 -- bitwise right signed shift >> 16 -- bitwise right unsigned shift >>> 17 -- logical conjunction operator (AND) 18 -- logical disjunction operator (OR) 19 -- array element access operation 20 -- reserved (used internally for string concatenation)
paramOPs - stack holding the operandsopcode - is the operation code| Method Detail |
public void compile(ClassFile cf)
OP
compile in class OPcf - class file with a new open method to write the code into.
public java.lang.Object eval()
throws java.lang.Exception
OPUpon success this node is to be replaced by the constant node holding the returned object.
eval in class OPjava.lang.Exception
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||