OneScript
  • Welcome to OneScript
  • OneScript Overview
    • Dates and Times
    • Sets
    • Types
    • Fields
      • Helper Fields
      • Labels
      • Standard Text
    • Snapshots
    • State Management
    • Future Features
  • Get OneScript
  • Macro Overview
    • Macro Virtual Machine
    • Code Instructions
  • Standard Libraries
    • Core
    • Data
    • Interview Model
  • Linker Overview
    • Objects
  • Contact Us
Powered by GitBook
On this page
  • Environments
  • Web
  • Command Line
  • Others
  • Common Operations
  • Startup
  • Threads
  1. Macro Overview

Macro Virtual Machine

PreviousMacro OverviewNextCode Instructions

Last updated 1 year ago

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 .

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 including the synchronisation of code running.

Macro Language
multi threaded coding