diff options
Diffstat (limited to 'Build/source/utils/asymptote/vm.h')
-rw-r--r-- | Build/source/utils/asymptote/vm.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Build/source/utils/asymptote/vm.h b/Build/source/utils/asymptote/vm.h new file mode 100644 index 00000000000..2c7d7f63a66 --- /dev/null +++ b/Build/source/utils/asymptote/vm.h @@ -0,0 +1,39 @@ +/***** + * vm.h + * Tom Prince 2005/06/17 + * + * Interface to the virtual machine. + *****/ + +#ifndef VM_H +#define VM_H + +#include "errormsg.h" + +namespace vm { + +struct lambda; class stack; +typedef void (*bltin)(stack *s); + +#ifdef DEBUG_BLTIN +// This associates names to bltin functions, so that the output of 'asy -s' +// can print the names of the bltin functions that appear in the bytecode. +void registerBltin(bltin b, string s); +string lookupBltin(bltin b); + +#define REGISTER_BLTIN(b, s) \ + registerBltin((b), (s)) +#else +#define REGISTER_BLTIN(b, s) +#endif + +void run(lambda *l); +position getPos(); + +void errornothrow(const char* message); +void error(const char* message); +void error(const ostringstream& message); + +} // namespace vm + +#endif // VM_H |