diff --git a/mx b/mx index cf7cacb..0bdac1f 100755 Binary files a/mx and b/mx differ diff --git a/src/main.cpp b/src/main.cpp index 746662b..b120b8e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -414,46 +414,44 @@ class Interpreter { if (newToken.type == valtype::INT) { newToken.value.value = get(before.value.value) + get(after.value.value); } - else if (newToken.type == valtype::DEC) { + else if (newToken.type == valtype::DEC) { newToken.value.value = get(before.value.value) + get(after.value.value); } - else if (newToken.type == valtype::STR) { + else if (newToken.type == valtype::STR) { newToken.value.value = get(before.value.value) + get(after.value.value); } else { syntaxError.mathCannotDoOperationOnType("+", "bool"); } } - else if (currentInstruction[i].keyword == keywords::SUBTRACT) { + else if (currentInstruction[i].keyword == keywords::SUBTRACT) { if (newToken.type == valtype::INT) { newToken.value.value = get(before.value.value) - get(after.value.value); } - else if (newToken.type == valtype::DEC) { + else if (newToken.type == valtype::DEC) { newToken.value.value = get(before.value.value) - get(after.value.value); } else { syntaxError.mathCannotDoOperationOnType("-", "bool or string"); } } - else if (currentInstruction[i].keyword == keywords::MULTIPLY) { + else if (currentInstruction[i].keyword == keywords::MULTIPLY) { if (newToken.type == valtype::INT) { newToken.value.value = get(before.value.value) * get(after.value.value); } - else if (newToken.type == valtype::DEC) { + else if (newToken.type == valtype::DEC) { newToken.value.value = get(before.value.value) * get(after.value.value); } else { syntaxError.mathCannotDoOperationOnType("*", "bool or string"); } } - else if (currentInstruction[i].keyword == keywords::DIVIDE) { + else if (currentInstruction[i].keyword == keywords::DIVIDE) { if (newToken.type == valtype::INT) { newToken.value.value = get(before.value.value) / get(after.value.value); } - else if (newToken.type == valtype::DEC) { + else if (newToken.type == valtype::DEC) { newToken.value.value = get(before.value.value) / get(after.value.value); } else { syntaxError.mathCannotDoOperationOnType("/", "bool or string"); } - } else { - syntaxError.generalError("Da math aint mathing"); } } } diff --git a/test.mx b/test.mx index e01450c..6a65159 100644 --- a/test.mx +++ b/test.mx @@ -1,4 +1,5 @@ print "dingusify"; let str bingus "heheheha its bingusing time"; print bingus; +print 1 + 1; exit 0;