Bunch of infix ops

This commit is contained in:
2023-07-08 23:08:22 -05:00
parent f682a234c7
commit ca72b480c5
3 changed files with 89 additions and 1 deletions
+21 -1
View File
@@ -25,8 +25,28 @@ sub = { "-" }
mul = { "*" }
div = { "/" }
modulus = { "%" }
log_and = { "&&" }
log_or = { "||" }
bit_and = { "&" }
bit_or = { "|" }
xor = { "^" }
lt = { "<" }
le = { "<=" }
gt = { ">" }
ge = { ">=" }
eq = { "==" }
ne = { "!=" }
lshift = { "<<" }
rshift = { ">>" }
operator = _{ add | sub | mul | div | modulus }
operator = _{
add | sub |
mul | div | modulus |
log_and | log_or |
bit_and | bit_or | xor |
lshift | rshift |
lt | le | gt | ge |
eq | ne }
expr = { val ~ (operator ~ val)* }
val = { // These are what get evaluated and left on the stack:
number | // Literal numbers