Fix precedence of % operator

It previously had the same precedence as + and -.
This commit is contained in:
Evan Shaw
2015-01-22 09:49:43 +13:00
parent bdc3439a71
commit 513af6df65
2 changed files with 4 additions and 1 deletions

View File

@ -2183,7 +2183,7 @@ GrammarRule rules[] =
/* TOKEN_COMMA */ UNUSED,
/* TOKEN_STAR */ INFIX_OPERATOR(PREC_FACTOR, "* "),
/* TOKEN_SLASH */ INFIX_OPERATOR(PREC_FACTOR, "/ "),
/* TOKEN_PERCENT */ INFIX_OPERATOR(PREC_TERM, "% "),
/* TOKEN_PERCENT */ INFIX_OPERATOR(PREC_FACTOR, "% "),
/* TOKEN_PLUS */ INFIX_OPERATOR(PREC_TERM, "+ "),
/* TOKEN_MINUS */ OPERATOR("- "),
/* TOKEN_PIPE */ INFIX_OPERATOR(PREC_BITWISE, "| "),

View File

@ -10,5 +10,8 @@ IO.print(-4.2 % -3.1) // expect: -1.1
// Left associative.
IO.print(13 % 7 % 4) // expect: 2
// Precedence.
IO.print(13 + 1 % 7) // expect: 14
// TODO: Unsupported RHS types.
// TODO: Error on mod by zero.