diff options
| author | Baitinq <[email protected]> | 2025-04-07 23:50:00 +0200 |
|---|---|---|
| committer | Baitinq <[email protected]> | 2025-04-07 23:50:00 +0200 |
| commit | 8f5279a6da793749f8c925650b302faf5f2f16bf (patch) | |
| tree | f8fa61c5deeb6f9a61f36c4fa9f076bc25bb9d85 /examples/20.src | |
| parent | Feature: Add char type and support underlying pointer values (diff) | |
| download | interpreter-8f5279a6da793749f8c925650b302faf5f2f16bf.tar.gz interpreter-8f5279a6da793749f8c925650b302faf5f2f16bf.tar.bz2 interpreter-8f5279a6da793749f8c925650b302faf5f2f16bf.zip | |
Examples: Add example creating array
Diffstat (limited to 'examples/20.src')
| -rw-r--r-- | examples/20.src | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/examples/20.src b/examples/20.src new file mode 100644 index 0000000..e6824ef --- /dev/null +++ b/examples/20.src @@ -0,0 +1,29 @@ +extern printf = (*i64, varargs) => void; +extern malloc = (i64) => *i64; +extern free = (*i64) => void; + +let init_array = (n: i64, arr: *i64) => i64 { + let i = 0; + while i < n { + (*(arr + i)) = i; + i = i + 1; + }; + return 0; +}; + + +let main = () => i64 { + let n = 10; + let arr = malloc(n * 8); + init_array(n, arr); + + let i = 0; + while i < n { + printf("%d\n", *(arr + i)); + i = i + 1; + }; + + free(arr); + + return 0; +}; |