bitwise operators and boolean operators
This commit is contained in:
@@ -141,6 +141,16 @@ func (c *Compiler) Compile(node ast.Node) error {
|
||||
c.emit(code.OpDiv)
|
||||
case "%":
|
||||
c.emit(code.OpMod)
|
||||
case "|":
|
||||
c.emit(code.OpBitwiseOR)
|
||||
case "^":
|
||||
c.emit(code.OpBitwiseXOR)
|
||||
case "&":
|
||||
c.emit(code.OpBitwiseAND)
|
||||
case "||":
|
||||
c.emit(code.OpOr)
|
||||
case "&&":
|
||||
c.emit(code.OpAnd)
|
||||
case ">":
|
||||
c.emit(code.OpGreaterThan)
|
||||
case ">=":
|
||||
@@ -177,7 +187,9 @@ func (c *Compiler) Compile(node ast.Node) error {
|
||||
|
||||
switch node.Operator {
|
||||
case "!":
|
||||
c.emit(code.OpBang)
|
||||
c.emit(code.OpNot)
|
||||
case "~":
|
||||
c.emit(code.OpBitwiseNOT)
|
||||
case "-":
|
||||
c.emit(code.OpMinus)
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user