Ver código fonte

fix `True not False` bug

blueloveTH 1 ano atrás
pai
commit
5a47ae6f42
1 arquivos alterados com 3 adições e 1 exclusões
  1. 3 1
      src/compiler/compiler.c

+ 3 - 1
src/compiler/compiler.c

@@ -1400,7 +1400,9 @@ static Error* parse_expression(Compiler* self, int precedence, bool allow_slice)
         TokenIndex op = curr()->type;
         TokenIndex op = curr()->type;
         advance();
         advance();
         PrattCallback infix = rules[op].infix;
         PrattCallback infix = rules[op].infix;
-        assert(infix != NULL);
+        if(infix == NULL){
+            return SyntaxError(self, "expected an expression, got %s", TokenSymbols[op]);
+        }
         check(infix(self));
         check(infix(self));
     }
     }
     return NULL;
     return NULL;