diff options
Diffstat (limited to 'progs/tests/expression/boolean_order.sy')
| -rw-r--r-- | progs/tests/expression/boolean_order.sy | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/progs/tests/expression/boolean_order.sy b/progs/tests/expression/boolean_order.sy new file mode 100644 index 0000000..567c068 --- /dev/null +++ b/progs/tests/expression/boolean_order.sy @@ -0,0 +1,42 @@ +start :: fn { + ts := 0 + t :: fn -> bool { + ts += 1 + ret true + } + + fs := 0 + f :: fn -> bool { + fs += 1 + ret false + } + + i :: fn -> bool { + <!> + ret false + } + + if t() || i() && i() { + // This block is intentionally left blank + } else { + <!> + } + + if f() && i() || t() { + // This block is intentionally left blank + } else { + <!> + } + + fs <=> 1 + fs = 0 + ts <=> 2 + ts = 0 + + f() && i() || f() <=> t() && f() || f() + f() && i() || f() <=> (t() && f()) || f() + t() && t() && f() || t() <=> t() || i() && i() && i() + + fs <=> 9 + ts <=> 6 +} |
