diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/if.ek | 23 | ||||
| -rw-r--r-- | tests/if2.ek | 29 | ||||
| -rw-r--r-- | tests/loop.ek | 15 | ||||
| -rw-r--r-- | tests/loops.ek | 4 | ||||
| -rw-r--r-- | tests/pointer_literal.ek | 5 |
5 files changed, 71 insertions, 5 deletions
diff --git a/tests/if.ek b/tests/if.ek new file mode 100644 index 0000000..ba8077b --- /dev/null +++ b/tests/if.ek @@ -0,0 +1,23 @@ +typedef i9 {} +typedef i27 {} + +putchar(i9 c) +{ + *i9 p = 19683 as *i9; + p* = c; +} + +main() +{ + if 0 { + putchar('0'); + } + else if 1 { + putchar('1'); + } + else { + putchar('1'); + } + + putchar('\n'); +} diff --git a/tests/if2.ek b/tests/if2.ek new file mode 100644 index 0000000..b41b389 --- /dev/null +++ b/tests/if2.ek @@ -0,0 +1,29 @@ +typedef i9 {} +typedef i27 {} + +putchar(i9 c) +{ + *i9 p = 19683 as *i9; + p* = c; +} + +main() +{ + if 0 { + for i27 i = 0; i < 5; i = i + 1 { + putchar('0' + i); + } + } + else if 1 { + for i27 i = 0; i < 5; i = i + 1 { + putchar('A' + i); + } + } + else { + for i27 i = 0; i < 5; i = i + 1 { + putchar('K' + i); + } + } + + putchar('\n'); +} diff --git a/tests/loop.ek b/tests/loop.ek new file mode 100644 index 0000000..301e7ea --- /dev/null +++ b/tests/loop.ek @@ -0,0 +1,15 @@ +typedef i9 {} +typedef i27 {} + +putchar(i9 c) +{ + *i9 p = 19683 as *i9; + p* = c; +} + +main() +{ + for i27 i = 0; i < 5; i = i + 1 { + putchar('A' + i); + } +} diff --git a/tests/loops.ek b/tests/loops.ek deleted file mode 100644 index 5b6f702..0000000 --- a/tests/loops.ek +++ /dev/null @@ -1,4 +0,0 @@ -/* this should error out with some decent message about type loops or something - * */ -f(=>typeof main()){} -main(=> typeof f()){} diff --git a/tests/pointer_literal.ek b/tests/pointer_literal.ek index 09889d2..dbb2bef 100644 --- a/tests/pointer_literal.ek +++ b/tests/pointer_literal.ek @@ -1,5 +1,8 @@ +typedef i9 {} +typedef i27 {} + main() { *i9 p = 19683 as *i9; - *p = 'A' as i9; + p* = 'A' as i9; } |
