aboutsummaryrefslogtreecommitdiff
path: root/pkg/lang/vm/code
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-07-27 11:01:29 +0000
committerMel <einebeere@gmail.com>2022-07-27 11:01:29 +0000
commit22a69393f58abcf3bcf9e7039f994dae78422213 (patch)
tree6f88f586bd57d298d54e345a6c4b8d7144a5d2ec /pkg/lang/vm/code
parent45b6f073fe398e820e9e4a82900bc282ee32af9b (diff)
downloadjinx-22a69393f58abcf3bcf9e7039f994dae78422213.tar.zst
jinx-22a69393f58abcf3bcf9e7039f994dae78422213.zip
Implement VM modules and globals
Diffstat (limited to 'pkg/lang/vm/code')
-rw-r--r--pkg/lang/vm/code/op.go2
-rw-r--r--pkg/lang/vm/code/pos.go13
2 files changed, 15 insertions, 0 deletions
diff --git a/pkg/lang/vm/code/op.go b/pkg/lang/vm/code/op.go
index 1ce08f7..b4c172a 100644
--- a/pkg/lang/vm/code/op.go
+++ b/pkg/lang/vm/code/op.go
@@ -19,7 +19,9 @@ const (
OpDrop
+ OpAddGlobal
OpGetGlobal
+ OpSetGlobal
OpGetLocal
OpSetLocal
OpGetMember
diff --git a/pkg/lang/vm/code/pos.go b/pkg/lang/vm/code/pos.go
new file mode 100644
index 0000000..90deb33
--- /dev/null
+++ b/pkg/lang/vm/code/pos.go
@@ -0,0 +1,13 @@
+package code
+
+type Pos struct {
+ Module int
+ PC int
+}
+
+func NewPos(module int, pc int) Pos {
+ return Pos{
+ Module: module,
+ PC: pc,
+ }
+} \ No newline at end of file