Phasor 3.1.1
Stack VM based Programming Language
Loading...
Searching...
No Matches
Native.cpp
Go to the documentation of this file.
1#ifndef CMAKE
2#include "VM.hpp"
3#endif
4
5void Phasor::VM::registerNativeFunction(const std::string &name, NativeFunction fn)
6{
7#ifdef TRACING
8 log(std::format("VM::{}(\"{}\")\n", __func__, name));
9 flush();
10#endif
11 nativeFunctions[name] = fn;
12}
std::function< Value(const std::vector< Value > &args, VM *vm)> NativeFunction
Native function signature.
Definition VM.hpp:88
std::map< std::string, NativeFunction > nativeFunctions
Native function registry.
Definition VM.hpp:279
void registerNativeFunction(const std::string &name, NativeFunction fn)
Register a native function.
Definition Native.cpp:5
void log(const Value &msg)
Log a Value to stdout.
Definition Utility.cpp:176
void flush()
Flush stdout.
Definition Utility.cpp:188