The Operator type exposes the following members.
Constructors
Name | Description | |
---|---|---|
![]() |
Operator | Overloaded. |
Methods
Name | Description | |
---|---|---|
![]() |
Equals | (Inherited from Object.) |
![]() |
Finalize |
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
(Inherited from Object.) |
![]() |
GetBinaryInverseOp | |
![]() |
GetBinding |
When parsing how is x+y+z interpreted.
Can be Operator.LEFT x+y+z -> (x+y)+z or
Operator.RIGHT x=y=z -> x=(y=z).
This is now deprecated
|
![]() |
GetFlags | |
![]() |
GetHashCode |
Serves as a hash function for a particular type.
(Inherited from Object.) |
![]() |
GetInverseOp | |
![]() |
GetKey |
Get the key code used to identify the operator in the operator table.
|
![]() |
GetName |
returns a unique name defining this operator.
|
![]() |
GetPFMC | |
![]() |
GetPrecedence |
Get the precedence of the operator.
Lower values correspond to tighter binding, that is * gives a lower value than + and 1+2*3 is 1+(2*3).
|
![]() |
GetRootOp | |
![]() |
GetSymbol |
Returns the symbol used by this operator.
|
![]() |
GetType |
Gets the Type of the current instance.
(Inherited from Object.) |
![]() |
IsAssociative | |
![]() |
IsBinary | |
![]() |
IsCommutative | |
![]() |
IsComposite | |
![]() |
IsDistributiveOver | |
![]() |
IsEquivalence | |
![]() |
IsLeftBinding | |
![]() |
IsNary | |
![]() |
IsPrefix | |
![]() |
IsReflexive | |
![]() |
IsRightBinding | |
![]() |
IsSelfInverse | |
![]() |
IsSuffix | |
![]() |
IsSymmetric | |
![]() |
IsTernary | |
![]() |
IsTransitive | |
![]() |
IsUnary | |
![]() |
MemberwiseClone |
Creates a shallow copy of the current Object.
(Inherited from Object.) |
![]() |
NotInParser | |
![]() |
NumArgs | |
![]() |
SetBinaryInverseOp | |
![]() |
SetDistributiveOver | |
![]() |
SetFlag |
Set the value of a specific flag. Use with care
|
![]() |
SetInverseOp | |
![]() |
SetKey |
Key code used to identify the operator in the operator table.
|
![]() |
SetPFMC | |
![]() |
SetPrecedence |
Set the precedence of the operator.
Lower values correspond to tighter binding, that is * gives a lower value than + and 1+2*3 is 1+(2*3).
|
![]() |
SetRootOp | |
![]() |
SetSymbol |
Sets the symbol used by the operator.
|
![]() |
ToFullString |
returns a verbose representation of the operator and all its properties.
|
![]() |
ToString | (Overrides Object..::.ToString()()().) |
![]() |
UseBindingForPrint |
Fields
Name | Description | |
---|---|---|
![]() ![]() |
ASSOCIATIVE |
Associative operators x*(y*z) == (x*y)*z .
|
![]() ![]() |
BINARY |
Binary operators, such as x+y, x>y
|
![]() ![]() |
COMMUTATIVE |
Commutative operators x*y = y*x.
|
![]() ![]() |
COMPOSITE |
composite operators, like a-b which is a+(-b)
|
![]() ![]() |
EQUIVALENCE |
Equivalence relations = reflexive, transitive and symmetric.
|
![]() |
flags |
Flags for type of operator
|
![]() ![]() |
LEFT |
Left binding like +: 1+2+3 -> (1+2)+3
|
![]() ![]() |
NARY |
Trinary ops such as ?: and or higher like [x,y,z,w]
|
![]() ![]() |
NO_ARGS |
No arguments to operator
|
![]() ![]() |
NOT_IN_PARSER |
Non standard operators, like array access.
These will typically require the PrintRulesI interface to print
and require special parsing options.
|
![]() ![]() |
PREFIX |
prefix operators -x
|
![]() ![]() |
REFLEXIVE |
Reflective relations x=x for all x.
|
![]() ![]() |
RIGHT |
Right binding like =: 1=2=3 -> 1=(2=3)
|
![]() ![]() |
SELF_INVERSE |
self inverse operators like -(-x) !(!x)
|
![]() ![]() |
SUFFIX |
postfix operators x%
|
![]() ![]() |
SYMMETRIC |
Symmetric relation x=y implies y=x.
|
![]() ![]() |
TERNARY |
three argument operators like java's cond?tval:fval
|
![]() ![]() |
TRANSITIVE |
Transitive relations x=y and y=z implies x=z
|
![]() ![]() |
UNARY |
Unary operators, such as -x !x ~x
|
![]() ![]() |
USE_BINDING_FOR_PRINT |
For non commutative operators printing can be determined by the left or right binding.
For example (a-b)-c is printed as a-b-c (flag set).
But a/b/c could be ambiguous so (a/b)/c is printed with brackets (flag not set).
|