|
Mercury library
1.0
Translation of CFG grammars into an object model (Bachelor's thesis).
|
Represents an action that infers its return type only after it is provided with types of its arguments. More...
Public Member Functions | |
| GenericAction (string name, Tuple< int, int > arity, ArgumentType[] argtypes, bool allowswild=true) | |
| Initializes a GenericAction{T} instance. More... | |
| abstract ArgumentType | InferReturnType (ArgumentType expected, ArgumentType[] actual) |
| Infers the actual return type from provided parameter types 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... | |
| abstract 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... | |
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 action that infers its return type only after it is provided with types of its arguments.
| T | Interpreter output type. |
| T | : | class |
Definition at line 214 of file InterpreterAction.cs.
| Mercury.Interpreting.GenericAction< T >.GenericAction | ( | string | name, |
| Tuple< int, int > | arity, | ||
| ArgumentType[] | argtypes, | ||
| bool | allowswild = true |
||
| ) |
Initializes a GenericAction{T} instance.
| name | The action name. |
| arity | The action arity. |
| argtypes | The argument types mask |
| allowswild | Indicates whether this action can accept wildcards. |
Definition at line 226 of file InterpreterAction.cs.
|
pure virtual |
Infers the actual return type from provided parameter types
| expected | Expected return type flags. |
| actual | Actual argument types. |
Integer | RealImplemented in Mercury.Interpreting.ArithmeticAction< T >.
1.8.7