public class EmptyOperatorTable extends java.lang.Object implements OperatorTableI
OperatorTable2
should be used which has
the standard set of operators.
This class has a sub-interface OperatorKey
which is used to
index operators, enums using this are defined in OperatorTable2
.
Modifier and Type | Class and Description |
---|---|
static interface |
EmptyOperatorTable.OperatorKey
All operators enums must implement this interface.
|
Constructor and Description |
---|
EmptyOperatorTable() |
Modifier and Type | Method and Description |
---|---|
Operator |
addOperator(EmptyOperatorTable.OperatorKey key,
Operator op)
Add a operator with a given key.
|
Operator |
addOperator(EmptyOperatorTable.OperatorKey key,
Operator op,
Operator existingOp)
Add operator with the same precedence level as an existing operator.
|
Operator |
appendOperator(EmptyOperatorTable.OperatorKey key,
Operator op,
Operator existingOp)
Add an operator with a new precedence level which is lower than the
existing op.
|
java.util.Set<java.util.Map.Entry<EmptyOperatorTable.OperatorKey,Operator>> |
entrySet() |
Operator |
getAdd()
Returns the operator used for addition.
|
Operator |
getAnd() |
Operator |
getAssign() |
Operator |
getCross() |
Operator |
getDivide() |
Operator |
getDot() |
Operator |
getEle() |
Operator |
getEQ() |
Operator |
getGE() |
Operator |
getGT() |
EmptyOperatorTable.OperatorKey |
getKey(Operator op)
Gets the key associated with a specific operator
|
Operator |
getLE() |
JepComponent |
getLightWeightInstance()
Gets a light-weight instance suitable for using in multiple threads.
|
Operator |
getList() |
Operator |
getLT() |
Operator |
getMod() |
Operator |
getMultiply() |
Operator |
getNE() |
Operator |
getNop() |
Operator |
getNot() |
int |
getNumOps() |
Operator |
getOperator(EmptyOperatorTable.OperatorKey key)
Get operator by its key code.
|
java.util.Collection<Operator> |
getOperators()
Return the full list of operators
|
Operator |
getOperatorsByName(java.lang.String name)
Get the operator with a given name
|
java.util.List<Operator> |
getOperatorsBySymbol(java.lang.String symbol)
Gets all the operators with a given symbol
|
Operator |
getOr() |
Operator |
getPower() |
Operator |
getRange() |
Operator |
getSubtract() |
Operator |
getUDivide()
unary division i.e. 1/x or x^(-1) *
|
Operator |
getUMinus() |
Operator |
getUPlus() |
void |
init(Jep jep)
Initialize the component.
|
Operator |
insertOperator(EmptyOperatorTable.OperatorKey key,
Operator op,
Operator existingOp)
Add operator with the same precedence level as an existing operator.
|
java.util.Set<EmptyOperatorTable.OperatorKey> |
keySet() |
void |
removeOperator(EmptyOperatorTable.OperatorKey key)
Remove a give operator from the table
|
void |
removeOperator(Operator op)
Remove a give operator from the table
|
void |
replaceOperator(EmptyOperatorTable.OperatorKey key,
Operator op)
Replace a give operator with a new one.
|
void |
replaceOperator(Operator oldOp,
Operator op)
Replace a give operator with a new one.
|
protected boolean |
setBinaryInverseOp(EmptyOperatorTable.OperatorKey key1,
EmptyOperatorTable.OperatorKey key2) |
protected boolean |
setDistributiveOver(EmptyOperatorTable.OperatorKey key1,
EmptyOperatorTable.OperatorKey key2) |
protected void |
setGroupOperatorRelations(EmptyOperatorTable.OperatorKey root,
EmptyOperatorTable.OperatorKey inv,
EmptyOperatorTable.OperatorKey composite)
Sets relations of three operators.
|
protected void |
setGroupOperatorRelations(Operator root,
Operator inv,
Operator composite)
Sets relations of three operators.
|
protected boolean |
setInverseOp(EmptyOperatorTable.OperatorKey key1,
EmptyOperatorTable.OperatorKey key2) |
boolean |
setPrecedenceTable(EmptyOperatorTable.OperatorKey[][] precArray)
Sets the precedence of all operators at one time.
|
protected boolean |
setRootOp(EmptyOperatorTable.OperatorKey key1,
EmptyOperatorTable.OperatorKey key2) |
protected void |
setStandardOperatorRelations()
Sets up the standard relations between +,-,*,/
|
java.lang.String |
toString()
String rep operators ordered by precedence, one per line.
|
public Operator getAdd()
getAdd
in interface OperatorTableI
public Operator getAnd()
getAnd
in interface OperatorTableI
public Operator getAssign()
getAssign
in interface OperatorTableI
public Operator getCross()
getCross
in interface OperatorTableI
public Operator getDivide()
getDivide
in interface OperatorTableI
public Operator getDot()
getDot
in interface OperatorTableI
public Operator getEQ()
getEQ
in interface OperatorTableI
public Operator getEle()
getEle
in interface OperatorTableI
public Operator getGE()
getGE
in interface OperatorTableI
public Operator getGT()
getGT
in interface OperatorTableI
public Operator getLE()
getLE
in interface OperatorTableI
public Operator getLT()
getLT
in interface OperatorTableI
public Operator getList()
getList
in interface OperatorTableI
public Operator getMod()
getMod
in interface OperatorTableI
public Operator getMultiply()
getMultiply
in interface OperatorTableI
public Operator getNE()
getNE
in interface OperatorTableI
public Operator getNop()
getNop
in interface OperatorTableI
public Operator getNot()
getNot
in interface OperatorTableI
public Operator getOr()
getOr
in interface OperatorTableI
public Operator getPower()
getPower
in interface OperatorTableI
public Operator getRange()
getRange
in interface OperatorTableI
public Operator getSubtract()
getSubtract
in interface OperatorTableI
public Operator getUDivide()
OperatorTableI
getUDivide
in interface OperatorTableI
public Operator getUMinus()
getUMinus
in interface OperatorTableI
public Operator getUPlus()
getUPlus
in interface OperatorTableI
public void init(Jep jep)
JepComponent
init
in interface JepComponent
jep
- the current Jep instancepublic int getNumOps()
public Operator addOperator(EmptyOperatorTable.OperatorKey key, Operator op)
key
- integer key valueop
- operatorpublic Operator addOperator(EmptyOperatorTable.OperatorKey key, Operator op, Operator existingOp)
public Operator insertOperator(EmptyOperatorTable.OperatorKey key, Operator op, Operator existingOp)
op
- existingOp
- public Operator appendOperator(EmptyOperatorTable.OperatorKey key, Operator op, Operator existingOp)
key
- op
- existingOp
- public EmptyOperatorTable.OperatorKey getKey(Operator op)
op
- public void removeOperator(Operator op)
op
- public void removeOperator(EmptyOperatorTable.OperatorKey key)
key
- public void replaceOperator(Operator oldOp, Operator op)
oldOp
- the operator to be replacedop
- the new operatorpublic void replaceOperator(EmptyOperatorTable.OperatorKey key, Operator op)
key
- the key for the operatorop
- the new operatorpublic Operator getOperator(EmptyOperatorTable.OperatorKey key)
key
- code used in the tablepublic java.util.List<Operator> getOperatorsBySymbol(java.lang.String symbol)
getOperatorsBySymbol
in interface OperatorTableI
symbol
- symbol used for operatorpublic Operator getOperatorsByName(java.lang.String name)
getOperatorsByName
in interface OperatorTableI
name
- unique name of operatorpublic java.util.Collection<Operator> getOperators()
getOperators
in interface OperatorTableI
public java.util.Set<java.util.Map.Entry<EmptyOperatorTable.OperatorKey,Operator>> entrySet()
public java.util.Set<EmptyOperatorTable.OperatorKey> keySet()
public final boolean setPrecedenceTable(EmptyOperatorTable.OperatorKey[][] precArray)
setPrecedenceTable(new OperatorKey[][] { { POWER }, { NEG, UPLUS, NOT }, { MUL, DIV, MOD, DOT, CROSS }, { ADD, SU }, { LT, LE, GT, GE }, { EQ, NE }, { AND }, { OR }, { ASSIGN }, });
precArray
- protected boolean setInverseOp(EmptyOperatorTable.OperatorKey key1, EmptyOperatorTable.OperatorKey key2)
protected boolean setBinaryInverseOp(EmptyOperatorTable.OperatorKey key1, EmptyOperatorTable.OperatorKey key2)
protected boolean setRootOp(EmptyOperatorTable.OperatorKey key1, EmptyOperatorTable.OperatorKey key2)
protected boolean setDistributiveOver(EmptyOperatorTable.OperatorKey key1, EmptyOperatorTable.OperatorKey key2)
protected void setGroupOperatorRelations(Operator root, Operator inv, Operator composite)
x+y
, the inverse uminus z
,
and composite x-y = x+(uminus y)
root
- the root operator i.e. ADDinv
- the inverse operator i.e. UMINUScomposite
- the composite operator i.e. SUBTRACTprotected void setGroupOperatorRelations(EmptyOperatorTable.OperatorKey root, EmptyOperatorTable.OperatorKey inv, EmptyOperatorTable.OperatorKey composite)
x+y
, the inverse uminus z
,
and composite x-y = x+(uminus y)
root
- the root operator i.e. ADDinv
- the inverse operator i.e. UMINUScomposite
- the composite operator i.e. SUBTRACTprotected void setStandardOperatorRelations()
public java.lang.String toString()
toString
in class java.lang.Object
public JepComponent getLightWeightInstance()
JepComponent
getLightWeightInstance
in interface JepComponent
Copyright © 2018 Singular Systems http://www.singularsys.com/jep