diff options
Diffstat (limited to 'examples/if.pipa')
-rw-r--r-- | examples/if.pipa | 78 |
1 files changed, 75 insertions, 3 deletions
diff --git a/examples/if.pipa b/examples/if.pipa index 2c5578d..79f5724 100644 --- a/examples/if.pipa +++ b/examples/if.pipa @@ -1,8 +1,80 @@ fn main(): i32 { - let n: i32 = 42; + let n: i32 = 11; - if n > 42 { - return 42; + let falsy: bool = false || n == 11 && n > 11; + let truth: bool = n + 1 > 11 && n - 1 < 11; + let literal_falsy: bool = false; + + if falsy { + return 201; + } + + if literal_falsy { + return 200; + } + + if (n == 11) { + if n != 12 { + if n < 12 { + if n <= 11 { + if n > 10 { + if n >= 11 { + if n >= 11 || n < 11 { + if n > 11 || n < 11 { + return 199; + } + if n > 11 || n <= 11 { + if false || false { + return 199; + } + if true || false { + if false || true { + if true && false { + return 197; + } + if false && true { + return 196; + } + if true && true { + if n >= 11 && n < 11 || n == 11 { + if false || n == 11 && n > 11 { + return 195; + } + if false || n >= 11 && n <= 11 { + if false || false && false && false || true { + if n + 1 > 11 && n - 1 < 11 { + if truth { + return 42; + } + return 14; + } + return 13; + } + return 12; + } + return 11; + } + return 10; + } + return 9; + } + return 8; + } + return 7; + } + return 6; + } + return 5; + } + return 4; + } + return 3; + } + return 2; + } + return 1; + } + return 0; } return n; |