Implemented dynamic array indices

This commit is contained in:
2025-01-24 22:47:28 +01:00
parent c0b30e9c22
commit 6dad6fb6a6
10 changed files with 393 additions and 21 deletions

44
tests/programs/array.q Normal file
View File

@ -0,0 +1,44 @@
import mem
main() {
a := mem.alloc(5)
assert a[0] == 0
assert a[1] == 0
assert a[2] == 0
assert a[3] == 0
assert a[4] == 0
a[0] = 0
a[1] = 1
a[2] = 2
a[3] = 3
a[4] = 4
assert a[0] == 0
assert a[1] == 1
assert a[2] == 2
assert a[3] == 3
assert a[4] == 4
i := 0
a[i] = i * 2
i += 1
a[i] = i * 2
i += 1
a[i] = i * 2
i += 1
a[i] = i * 2
i += 1
a[i] = i * 2
assert a[0] == 0
assert a[1] == 2
assert a[2] == 4
assert a[3] == 6
assert a[4] == 8
}

View File

@ -31,6 +31,7 @@ var programs = []struct {
{"binary", "", "", 0},
{"octal", "", "", 0},
{"hexadecimal", "", "", 0},
{"array", "", "", 0},
{"escape-rune", "", "", 0},
{"escape-string", "", "", 0},
{"bitwise-and", "", "", 0},