diff --git a/src/mse.vcproj b/src/mse.vcproj index 61894524..7fa98e8d 100644 --- a/src/mse.vcproj +++ b/src/mse.vcproj @@ -4006,6 +4006,9 @@ + + diff --git a/src/script/parser.cpp b/src/script/parser.cpp index 815fa2fe..fbb6b5c0 100644 --- a/src/script/parser.cpp +++ b/src/script/parser.cpp @@ -662,11 +662,13 @@ void parseOper(TokenIterator& input, Script& script, Precedence minPrec, Instruc script.getInstructions().pop_back(); parseOper(input, script, PREC_SET, I_SET_VAR, instr.data); } + else if (minPrec <= PREC_AND && token==_("orelse"))parseOper(input, script, PREC_ADD, I_BINARY, I_OR_ELSE); else if (minPrec <= PREC_AND && token==_("and")) parseOper(input, script, PREC_CMP, I_BINARY, I_AND); else if (minPrec <= PREC_AND && token==_("or" )) { Token t = input.peek(); if (t == _("else")) {// or else input.read(); // skip else + // TODO: deprecate "or else" in favor of "orelse" parseOper(input, script, PREC_ADD, I_BINARY, I_OR_ELSE); } else { parseOper(input, script, PREC_CMP, I_BINARY, I_OR);