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