ststic arrays and dynamic arrays

This commit is contained in:
IgorCielniak
2026-01-08 18:34:34 +01:00
parent 1727bab944
commit e7abc47cdf
8 changed files with 376 additions and 4 deletions

View File

@@ -0,0 +1,6 @@
1
3
4
10
20
30

23
tests/arr_dynamic.sl Normal file
View File

@@ -0,0 +1,23 @@
import ../stdlib/stdlib.sl
import ../stdlib/io.sl
import ../stdlib/arr.sl
word main
0 arr_new
dup arr_cap puti cr
10 swap arr_push
20 swap arr_push
30 swap arr_push
dup arr_len puti cr
dup arr_cap puti cr
# print elements via explicit offsets: data[i] = @ (arr_data + i*8)
dup arr_data 0 8 * + @ puti cr
dup arr_data 1 8 * + @ puti cr
dup arr_data 2 8 * + @ puti cr
arr_free
end

1
tests/arr_dynamic.test Normal file
View File

@@ -0,0 +1 @@
python main.py tests/arr_dynamic.sl -o /tmp/arr_dynamic > /dev/null && /tmp/arr_dynamic

2
tests/list.expected Normal file
View File

@@ -0,0 +1,2 @@
3
2

9
tests/list.sl Normal file
View File

@@ -0,0 +1,9 @@
import ../stdlib/stdlib.sl
import ../stdlib/io.sl
word main
[ 1 2 3 4 ]
# element i is at: list_ptr + 8 + i*8
dup 8 2 * 8 + + @ puti cr # index 2 = 3
dup 8 1 * 8 + + @ puti cr # index 1 = 2
end

1
tests/list.test Normal file
View File

@@ -0,0 +1 @@
python main.py tests/list.sl -o /tmp/list > /dev/null && /tmp/list