aboutsummaryrefslogtreecommitdiff
path: root/pkg/lang/compiler
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-07-06 14:06:20 +0200
committerMel <einebeere@gmail.com>2022-07-06 14:06:20 +0200
commitb16b70fd40ffc72ff861afe0517cba0e37ba1145 (patch)
tree1969a77f9c3d00160d53ffbe2f4b6ffa7d408165 /pkg/lang/compiler
parent32ec3e1186b3ed29e910ad60a18f956b823ddc23 (diff)
downloadjinx-b16b70fd40ffc72ff861afe0517cba0e37ba1145.tar.zst
jinx-b16b70fd40ffc72ff861afe0517cba0e37ba1145.zip
Implement most of the binary operations
Diffstat (limited to 'pkg/lang/compiler')
-rw-r--r--pkg/lang/compiler/compiler.go20
1 files changed, 7 insertions, 13 deletions
diff --git a/pkg/lang/compiler/compiler.go b/pkg/lang/compiler/compiler.go
index c51728f..116db1c 100644
--- a/pkg/lang/compiler/compiler.go
+++ b/pkg/lang/compiler/compiler.go
@@ -357,31 +357,25 @@ func (comp *Compiler) compileBinaryExpr(t *code.Builder, expr ast.ExprBinary) er
case ast.BinOpMinus:
t.AppendOp(code.OpSub)
case ast.BinOpStar:
- // t.AppendOp(code.OpMul)
- panic("not implemented")
+ t.AppendOp(code.OpMul)
case ast.BinOpSlash:
- // t.AppendOp(code.OpDiv)
- panic("not implemented")
+ t.AppendOp(code.OpDiv)
case ast.BinOpPercent:
- // t.AppendOp(code.OpMod)
- panic("not implemented")
+ t.AppendOp(code.OpMod)
case ast.BinOpEq:
- // t.AppendOp(code.OpEq)
- panic("not implemented")
+ t.AppendOp(code.OpEq)
case ast.BinOpNeq:
- // t.AppendOp(code.OpNeq)
+ //t.AppendOp(code.OpNeq)
panic("not implemented")
case ast.BinOpLt:
t.AppendOp(code.OpLt)
case ast.BinOpLte:
t.AppendOp(code.OpLte)
case ast.BinOpGt:
- // t.AppendOp(code.OpGt)
- panic("not implemented")
+ t.AppendOp(code.OpGt)
case ast.BinOpGte:
- // t.AppendOp(code.OpGte)
- panic("not implemented")
+ t.AppendOp(code.OpGte)
default:
panic("unknown binary operator")
}