BUGFIX: Binary Expressions would abort early in compare expressions.

This commit is contained in:
Jeremy Wall 2018-08-22 18:58:48 -05:00
parent f982194518
commit bd4c9a26c0
3 changed files with 5 additions and 3 deletions

View File

@ -8,6 +8,7 @@ let cplxmacro = macro(argint, argstr, argfloat) => {
field1 = argint + 1, field1 = argint + 1,
field2 = argstr + " are here", field2 = argstr + " are here",
field3 = argfloat - 1.0, field3 = argfloat - 1.0,
boolfield = argint == 1,
}; };
let simpleresult = simplemacro(1, 2, 3); let simpleresult = simplemacro(1, 2, 3);
@ -19,4 +20,5 @@ assert |simpleresult.field3 == 3|;
assert |cplxresult.field1 == 2|; assert |cplxresult.field1 == 2|;
assert |cplxresult.field2 == "We are here"|; assert |cplxresult.field2 == "We are here"|;
assert |cplxresult.field3 == 2.0|; assert |cplxresult.field3 == 2.0|;
assert |cplxresult.boolfield == true|;

View File

@ -2,6 +2,6 @@ assert |2 * 2 + 1 == 5|;
assert |2 + 2 * 3 == 8|; assert |2 + 2 * 3 == 8|;
assert |2 * (2 + 1) == 6|; assert |2 * (2 + 1) == 6|;
assert |2 * 2 + 1 > 4|; assert |2 * 2 + 1 > 4|;
assert |2 * 2 + 1 > 6|; assert |2 * 2 + 1 < 6|;
assert |2 * 2 + 1 >= 5|; assert |2 * 2 + 1 >= 5|;
assert |2 * 2 + 1 <= 5|; assert |2 * 2 + 1 <= 5|;

View File

@ -406,7 +406,7 @@ pub fn op_expression(i: TokenIter) -> NomResult<Expression> {
let parse_result = alt!( let parse_result = alt!(
i_, i_,
trace_nom!(math_expression) | trace_nom!(compare_expression) trace_nom!(compare_expression) | trace_nom!(math_expression)
); );
match parse_result { match parse_result {