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 ab 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 (ab)c is printed as abc (flag set).
But a/b/c could be ambiguous so (a/b)/c is printed with brackets (flag not set).
