aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2023-10-26 10:22:26 +0100
committerAryadev Chavali <aryadev@aryadevchavali.com>2023-10-26 10:22:26 +0100
commit3200e97324f10b2840817fffafbe4368dc3cb219 (patch)
treefa25daad8eebba4e690ebf76ccef922f53efac73
parentd1f84a6a2c19686090968e254216c8d68744fe45 (diff)
downloadovm-3200e97324f10b2840817fffafbe4368dc3cb219.tar.gz
ovm-3200e97324f10b2840817fffafbe4368dc3cb219.tar.bz2
ovm-3200e97324f10b2840817fffafbe4368dc3cb219.zip
Updated README for targeting VM
-rw-r--r--README.org13
1 files changed, 7 insertions, 6 deletions
diff --git a/README.org b/README.org
index 562ad67..3a313e9 100644
--- a/README.org
+++ b/README.org
@@ -5,10 +5,11 @@
A stack based virtual machine in C11. Deals primarily in bytes,
doesn't make assertions about typing and is very simple to target.
* Instructions to target
-You'll need [[file:src/inst.h][inst.h]] for the instruction API. You
-must convert user programs to instructions via ~inst_t~, then emit
-bytecode via ~insts_write_bytecode*~.
+You need to link with the object files for
+[[file:lib/base.c][base.c]], [[file:lib/darr.c][darr.c]] and
+[[file:vm/inst.c][inst.c]] to be able to properly target the OVM. The
+basic idea is to create instructions via ~inst_t~ then using the
+~inst(s)_write_*~ API to generate bytecode (and write to a file).
-This is all that is necessary to create a language which targets this
-virtual machine. To execute that bytecode, a user must use my virtual
-machine program.
+Then to execute the program, the virtual machine interpreter ~ovm.out~
+is used.