diff options
| author | Bruce Hill <bitbucket@bruce-hill.com> | 2018-08-28 15:08:00 -0700 |
|---|---|---|
| committer | Bruce Hill <bitbucket@bruce-hill.com> | 2018-08-28 15:08:07 -0700 |
| commit | e44acbf338e17fb86a47eebf448c27a04d446048 (patch) | |
| tree | dce45fa28ffd070c70ae2c0b27ad9794489cec6a /core/operators.nom | |
| parent | 930d522fbc3ab57faa926ed85f0d35d661722402 (diff) | |
Lots of overhaul, supporting a new Object Oriented approach (e.g.
%obj::action 1 2) and syntax.
Diffstat (limited to 'core/operators.nom')
| -rw-r--r-- | core/operators.nom | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/core/operators.nom b/core/operators.nom index b6e0963..0a46eb5 100644 --- a/core/operators.nom +++ b/core/operators.nom @@ -238,6 +238,7 @@ compile [%x or %y] to (Lua value "(\(%x as lua expr) or \(%y as lua expr))") # Bitwise Operators # TODO: implement OR, XOR, AND for multiple operands? test: + assume ((~5) == -6) assume ((1 | 4) == 5) assume ((1 ~ 3) == 2) assume ((1 & 3) == 1) @@ -271,14 +272,9 @@ compile [%x LSHIFT %shift, %x << %shift] to (..) (%use_bitops and "bit.lshift(\(%x as lua expr), \(%shift as lua expr))") or ".." (\(%x as lua expr) << \(%shift as lua expr)) -compile [%x RSHIFT %shift, %x >>> %shift] to (..) +compile [%x RSHIFT %shift, %x >> %shift] to (..) Lua value (..) (%use_bitops and "bit.rshift(\(%x as lua expr), \(%shift as lua expr))") or ".." - (\(%x as lua expr) >>> \(%shift as lua expr)) - -compile [%x ARSHIFT %shift, %x >> %shift] to (..) - Lua value (..) - (%use_bitops and "bit.arshift(\(%x as lua expr), \(%shift as lua expr))") or ".." (\(%x as lua expr) >> \(%shift as lua expr)) # Unary operators |
