about summary refs log tree commit diff
path: root/pkg/lang/vm/code/op.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/lang/vm/code/op.go')
-rw-r--r--pkg/lang/vm/code/op.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/pkg/lang/vm/code/op.go b/pkg/lang/vm/code/op.go
new file mode 100644
index 0000000..ae37603
--- /dev/null
+++ b/pkg/lang/vm/code/op.go
@@ -0,0 +1,34 @@
+package code
+
+type Op uint8
+
+const (
+	OpNop Op = iota
+	OpHalt
+
+	OpPushInt
+	OpPushFloat
+	OpPushString
+	OpPushTrue
+	OpPushFalse
+	OpPushNull
+	OpPushArray
+	OpPushFunction
+	OpPushObject
+
+	OpGetGlobal
+	OpGetLocal
+	OpGetMember
+	OpGetArg
+	OpGetEnv
+
+	OpAdd
+	OpSub
+	OpIndex
+	OpCall
+
+	OpJmp
+	OpJez
+
+	OpRet
+)