Package gnu.jel
Class OPbinary
- java.lang.Object
-
- gnu.jel.OP
-
- gnu.jel.OPbinary
-
public class OPbinary extends OP
A tree node, representing binary operation.
-
-
Field Summary
Fields Modifier and Type Field Description int
code
code of this operationprotected static byte[][]
promotions
binary promotions of base types-
Fields inherited from class gnu.jel.OP
chi, resID, resType, specialTypes, unwrapType
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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, narrow, typeID, typeIDObject, widen
-
-
-
-
Constructor Detail
-
OPbinary
public OPbinary(java.util.Stack<OP> paramOPs, int opcode) throws CompilationException
Constructs a new binary operation.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)
- Parameters:
paramOPs
- stack holding the operandsopcode
- is the operation code- Throws:
CompilationException
-
-
Method Detail
-
compile
public void compile(ClassFile cf)
Description copied from class:OP
Called to generate the code implementing this OP.
-
eval
public java.lang.Object eval() throws java.lang.Exception
Description copied from class:OP
Called to evaluate this node and all its sub-nodes.Upon success this node is to be replaced by the constant node holding the returned object.
-
-