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).
|