|
Mercury library
1.0
Translation of CFG grammars into an object model (Bachelor's thesis).
|
Represents an operation on two values. More...
Public Member Functions | |
| OperationAction (string name, Func< U, U, V > f, ArgumentType flags=ArgumentType.None) | |
| Initializes a new instance of the OperationAction{T, U, V} class. More... | |
| override V | Evaluate (Argument[] arguments, RecursiveEval< T > eval, InterpreterContext< T > context) |
| Evaluates the action. More... | |
Public Member Functions inherited from Mercury.Interpreting.InterpreterAction< T, U > | |
| InterpreterAction (string name, Tuple< int, int > arity, ArgumentType[] argtypes, bool allowswild=true) | |
| Initializes a new instance of the InterpreterAction{T,U} class. See Mercury.Interpreting.InterpreterAction{T} for better explanation. More... | |
| override object | Invoke (Argument[] arguments, RecursiveEval< T > eval, InterpreterContext< T > context) |
| Evaluates the arguments. It is guaranteed to have a valid number of arguments (specified by Arity) and that no argument is null UNLESS the flag Mercury.Interpreting.ArgumentType contains Lazy or Null. More... | |
Public Member Functions inherited from Mercury.Interpreting.InterpreterAction< T > | |
| InterpreterAction (string name, Tuple< int, int > arity, ArgumentType[] argtypes, bool allowswild=true) | |
| Initializes a new instance of the InterpreterAction{T} class. The target application can inherit from this class, but rather one of Mercury.Interpreting.InterpreterAction{T,U} or Mercury.Interpreting.GenericAction{T} is recommended to derive. Conditions: More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Mercury.Interpreting.InterpreterAction< T > | |
| void | CheckDefinition () |
Properties inherited from Mercury.Interpreting.InterpreterAction< T > | |
| string | Name [get, set] |
| Action name. More... | |
| Tuple< int, int > | Arity [get, set] |
| Minimum and maximum number of arguments. More... | |
| ArgumentType | ReturnType [get, set] |
| Action return type. More... | |
| ArgumentType[] | ArgumentTypes [get, set] |
| Allowed types of arguments. If more arguments specified (within range of Arity), the last type in this array will be used. It can be empty if and only if arity is (0,0). More... | |
| bool | AllowsWildcard [get, set] |
| Indicates whether a Mercury.Interpreting.Wildcard can be an argument of this action. More... | |
Represents an operation on two values.
| T | Interpreter return type |
| U | Input value types |
| V | Output type |
| T | : | class |
Definition at line 369 of file BasicActions.cs.
| Mercury.Interpreting.OperationAction< T, U, V >.OperationAction | ( | string | name, |
| Func< U, U, V > | f, | ||
| ArgumentType | flags = ArgumentType.None |
||
| ) |
Initializes a new instance of the OperationAction{T, U, V} class.
| name | The action name |
| f | The lambda function |
| flags | Additional flags |
| System.ArgumentNullException | When f is null |
Definition at line 383 of file BasicActions.cs.
|
virtual |
Evaluates the action.
| arguments | Arguments provided by the interpreter. |
| eval | The recursive evaluation delegate. |
| context | The interpreter context. |
Implements Mercury.Interpreting.InterpreterAction< T, U >.
Definition at line 395 of file BasicActions.cs.
1.8.7