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 SummaryFields Modifier and Type Field Description intcodecode of this operationprotected static byte[][]promotionsbinary promotions of base types
- 
Constructor Summary
- 
Method Summary
- 
Field Details- 
codepublic int codecode of this operation
- 
promotionsprotected static final byte[][] promotionsbinary promotions of base types
 
- 
- 
Constructor Details- 
OPbinaryConstructs 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 operands
- opcode- is the operation code
- Throws:
- CompilationException
 
 
- 
- 
Method Details- 
compileDescription copied from class:OPCalled to generate the code implementing this OP.
- 
evalpublic java.lang.Object eval() throws java.lang.ExceptionDescription copied from class:OPCalled 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. 
 
-