Package org.esa.snap.core.jexp
package org.esa.snap.core.jexp
The JEXP API (JEXP = Java Expression Parser).
It defines the abstract
Term
class which plays a central role in the API.-
ClassDescriptionA basic implementation of a term transformer which recursively clones operation and function call terms.Represents an application dependant evaluation environment.An exception that can be thrown during the evaluation of a
.Term
A representation of a function.Namespaces are used by a
in order to resolve to symbol references and function calls.Parser
An exception thrown by aParserX.parse()
call in order to signal a parser error.Instances of theParser
interface are used to convert a code string representing an arithmetic expression in a tree of terms which can then be executed by using one of the evaluation methods of the
class.Term
Represents a read-only symbol.The abstractTerm
class is an in-memory representation of an element within an arbitrary expression tree.The numerical ADD operation: n-term+
n-termThe logical AND operation: b-term&&
b-termThe bitwise AND operation: i-term&
i-termThe assignment operation variable-ref-term=
termAn abstract binary (= 2 operands) operation.An abstract binary (= 2 operands) operation with a return type ofint
.An abstract binary (= 2 operands) operation with a numeric return type.A call of a (or reference to a)
.Function
The conditional operation b-term?
term:
termA boolean constant, e.g.A boolean constant, e.g.A floating point constant, e.g.An integer constant, e.g.The numerical DIV operation: n-term/
n-termThe boolean EQ operation: b-term==
b-termThe double EQ operation: d-term==
d-termThe integer EQ operation: i-term==
i-termThe double GE operation: d-term>=
d-termThe integer GE operation: i-term>=
i-termThe double GT operation: d-term>
d-termThe integer GT operation: i-term>
i-termThe double LE operation: d-term<=
d-termThe integer LE operation: i-term<=
i-termThe double LT operation: d-term<
d-termThe integer LT operation: i-term<
i-termThe numerical MOD (modulo) operation: n-term%
n-termThe numerical MUL operation: n-term*
n-termThe numerical NEG operation:-
d-termThe boolean NEQ operation: b-term!=
b-termThe double NEQ operation: d-term!=
d-termThe integer NEQ operation: i-term!=
i-termThe logical NOT operation!
b-termThe bitwise NOT operation:~
i-termAn abstract operation.The logical OR operation: b-term||
b-termThe bitwise OR operation: i-term¦
i-termA reference to a
.Symbol
The numerical SUB operation: n-term-
n-termAn abstract unary (= 1 operand) operation.An abstract unary (= 1 operand) operation with return type ofboolean
.An abstract unary (= 1 operand) operation with return type ofint
.An abstract unary (= 1 operand) operation with a numeric return type.The bitwise XOR operation: i-term^
i-termA term transformer is a term visitor that returns terms.TermVisitor<T>Visitor support for theTerm
class.Represents a variable to which a value can be assigned.