Macro Virtual Machine¶
The Macro Virtual Machine (MVM) is built on the Microsoft .NET architecture and depends on the data structures supported by the .NET 8 platform. The Macro Virtual Machine has a core library to support its operation. This manages memory allocation and access to third party libraries. The best way to understand the virtual machine is to use the Macro Language .
Environments¶
The virtual machine runs in a number of environments which is better described here.
Web¶
A web environment to allow access to an angular based set of controls to present questions and run the OneScript compiled code.
Command Line¶
A simple command line to allow access to the OneScript programming language or Macro language with no access to any field support for display. This would be used as a pure development environment.
Others¶
There is a plan to deliver an app version of the environment to offer the virtual machine and a survey taking experience to plug into any app.
Common Operations¶
Regardless of the environment the virtual machine has a common operative level. This is describe by the following steps:
Startup¶
When a virtual is started up it can be passed information from the external environment. This is achieved through a collection of variables.
Threads¶
When a virtual machine is started the main thread is responsible for processing the code. The virtual machine supports multi threaded coding including the synchronisation of code running.