diff options
Diffstat (limited to 'vm.d')
| -rw-r--r-- | vm.d | 12 | 
1 files changed, 12 insertions, 0 deletions
| @@ -351,6 +351,18 @@ class VM {                      double anum = asNumber(a);                      pushA(makeNumberValue(anum - bnum));                      break; +                case OpCode.OP_NOT: +                    Value val = popA(); +                    bool bval = asBoolean(val); +                    pushA(makeBooleanValue(!bval)); +                    break; +                case OpCode.OP_GREATER: +                    Value b = popA(); +                    Value a = popA(); +                    double bnum = asNumber(b); +                    double anum = asNumber(a); +                    pushA(makeBooleanValue(anum > bnum)); +                    break;                  case OpCode.OP_LESS:                      Value b = popA();                      /* | 
