|
libvata2
[unstable] git snapshot
|
Classes | |
| class | VMValue |
| Data type representing a value, which is composed of a type and a pointer to a general memory. More... | |
| class | VirtualMachine |
| The virtual machine executing VATA code. More... | |
| class | VMException |
| The exception for virtual machine errors. More... | |
Typedefs | |
| using | VMFuncName = std::string |
| Data type for function names. More... | |
| using | VMFuncArgs = std::vector< VMValue > |
| Data type for function arguments. More... | |
| using | VMDispatcherFunc = std::function< VMValue(const VMFuncName &, const VMFuncArgs &)> |
| Data type for dispatcher function pointer. More... | |
| using | VMPointer = const void * |
| Data type representing a pointer to a memory holding a value. More... | |
| using | VMStorage = std::unordered_map< std::string, VMValue > |
| A dictionary mapping names to values. More... | |
Functions | |
| void | reg_dispatcher (const std::string &type_name, const VMDispatcherFunc &func) |
| registers a dispatcher function for a VATA data type More... | |
| const VMDispatcherFunc & | find_dispatcher (const std::string &type_name) |
| finds the dispatcher function for a given type More... | |
| VMValue | call_dispatch_with_self (const VMValue &val, const VMFuncName &func_name) |
| calls a dispatcher function for the given value with it as the only argument More... | |
| VMValue | default_dispatch (const VMFuncName &func_name, const VMFuncArgs &func_args) |
| Default dispatcher function. More... | |
| using VMDispatcherFunc = std::function<VMValue(const VMFuncName&, const VMFuncArgs&)> |
Data type for dispatcher function pointer.
Definition at line 40 of file vm-dispatch.hh.
| using VMFuncArgs = std::vector<VMValue> |
Data type for function arguments.
Definition at line 38 of file vm-dispatch.hh.
| using VMFuncName = std::string |
Data type for function names.
Definition at line 36 of file vm-dispatch.hh.
| using VMPointer = const void* |
|
inline |
calls a dispatcher function for the given value with it as the only argument
Definition at line 54 of file vm-dispatch.hh.
References find_dispatcher(), and VMValue::type.
| VMValue Vata2::VM::default_dispatch | ( | const VMFuncName & | func_name, |
| const VMFuncArgs & | func_args | ||
| ) |
Default dispatcher function.
| const VMDispatcherFunc& Vata2::VM::find_dispatcher | ( | const std::string & | type_name | ) |
finds the dispatcher function for a given type
Referenced by call_dispatch_with_self().
| void Vata2::VM::reg_dispatcher | ( | const std::string & | type_name, |
| const VMDispatcherFunc & | func | ||
| ) |
registers a dispatcher function for a VATA data type
1.8.6