diff --git a/new_parse.cpp b/new_parse.cpp index 8df5e2b..fa6a268 100644 --- a/new_parse.cpp +++ b/new_parse.cpp @@ -350,24 +350,31 @@ binding_power(Binding binding, Token_Kind kind){ default: return {-1, -1}; } Infix: switch(kind){ + case TK_Or: + return {9,10}; + case TK_And: + return {11,12}; case TK_Equals: case TK_NotEquals: case TK_GreaterThen: case TK_GreaterThenOrEqual: case TK_LesserThen: case TK_LesserThenOrEqual: - return {3,4}; + return {13,14}; case TK_Sub: case TK_Add: - return {5,6}; + case TK_BitOr: + case TK_BitXor: + return {15,16}; case TK_RightShift: case TK_LeftShift: + case TK_BitAnd: case TK_Mul: case TK_Div: case TK_Mod: - return {7,8}; + return {17,18}; case TK_Dot: - return {10,9}; + return {20,19}; default: return {}; } Postfix: switch(kind){