navm 1.0.0
A simple VM intended to be used in scripting languages
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
NaVM
A VM designed to be fast, intended for use in scripting languages.
It's sometimes written navm instead of NaVM, both are the same
Getting Started
These instructions will get you a copy of NaVM with its very basic instuctions, which will serve as a demo.
Remember, NaVM is not built to be a standalone application, it's meant to be used as a library (originally built
for QScript, but everyone's free to use it).
See source/app.d
to see how to add new instructions, & execute byte codes.
See spec/syntax.md
and spec/instructions.md
for NaVM's syntax and a list of instructions you can use.
See examples/*
for some example byte codes. These can be run using the demo build.
Prerequisites
You need to have these present on your machine:
- dub
- dlang compiler (
dmd
works)
Building
Run:
dub fetch navm
dub build navm -b=release -c=demo
Following this, you will have the NaVM binary (named demo
) with very basic functionality.
You can now run NaVM bytecode using:
~/.dub/packages/navm-*/navm/demo path/to/bytecodefile
The demo program contains 4 additional instructions:
writeInt
- pops 1 integer from stack, and writes it to stdio.writeDouble
- pops 1 double from stack, and writes it to stdio.writeChar
- pops 1 char from stack, and writes it to stdio.writeStr
- pops 1 string (array of char) from stack, and writes it to stdio.
License
NaVM is licensed under the MIT License - see LICENSE for details
- 1.0.0 released 3 years ago
- Nafees10/navm
- MIT
- Copyright © 2019-2021, Nafees Hassan
- Authors:
- Dependencies:
- utils
- Versions:
-
2.0.2 2024-Apr-10 2.0.1 2024-Jan-28 2.0.0 2024-Jan-28 2.0.0-beta-1 2024-Jan-21 1.4.1 2023-Apr-14 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
0 downloads this month
-
124 downloads total
-
- Score:
- 1.5
- Short URL:
- navm.dub.pm