|
Mercury library
1.0
Translation of CFG grammars into an object model (Bachelor's thesis).
|
Function that wraps constant values in the RHS More...
Public Member Functions | |
| 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... | |
Protected Member Functions | |
| void | CheckDefinition () |
Properties | |
| 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... | |
Function that wraps constant values in the RHS
| T | Interpreter output type |
| args | The arguments |
| eval | The recusrive eval function |
Function that wraps multiple action calls in the RHS into one
| T |
| args | The arguments. |
Represents Actions taken in order to interpret trees.
| T | : | class |
Definition at line 46 of file InterpreterAction.cs.
| 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:
Item1 is less than Item2| name | The name of the action. |
| arity | The arity, minimum and maximum number of allowed arguments. |
| argtypes | The types of arguments. If specified less than required, the last one will be repeated for unmatched arguments. |
| allowswild | if set to true AND the maximum number of arguments equals System.Int32.MAX_VALUE, the action will support wildcards. |
| System.ArgumentNullException | When name , arity or argtypes are null. |
Definition at line 94 of file InterpreterAction.cs.
|
protected |
Definition at line 51 of file InterpreterAction.cs.
|
pure virtual |
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.
| arguments | Arguments of the function. |
| eval | The recursive evaluation of trees. |
| context | Interpreter context. |
null if failed.Implemented in Mercury.Interpreting.ArithmeticAction< T >, and Mercury.Interpreting.InterpreterAction< T, U >.
|
getset |
Indicates whether a Mercury.Interpreting.Wildcard can be an argument of this action.
Definition at line 132 of file InterpreterAction.cs.
|
getset |
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).
Definition at line 126 of file InterpreterAction.cs.
|
getset |
Minimum and maximum number of arguments.
Definition at line 116 of file InterpreterAction.cs.
|
getset |
Action name.
Definition at line 113 of file InterpreterAction.cs.
|
getset |
Action return type.
Definition at line 119 of file InterpreterAction.cs.
1.8.7