mutable decl syntax change

This commit is contained in:
2026-08-05 21:19:41 +02:00
parent 88b94197c9
commit 081a3fd5df
74 changed files with 870 additions and 733 deletions
+3 -3
View File
@@ -48,7 +48,7 @@ hide append_token func(tokens @mut std.ArrayList(Token), kind Kind, start, end u
}
lex func(source []u8, tokens @mut std.ArrayList(Token)) void ! mem.AllocError {
cursor usize = 0
cursor usize := 0
while cursor < source.len {
value u8 :: source[cursor]
if value == ' ' or value == '\t' or value == '\r' {
@@ -112,7 +112,7 @@ hide print_token func(source []u8, token Token) void {
_ = c.printf("%-11s", kind_name(token.kind))
if token.length != 0 {
_ = c.printf(" `")
i usize = 0
i usize := 0
while i < token.length : i += 1 {
value u8 :: source[token.start + i]
if value == '\n' {
@@ -132,7 +132,7 @@ main func() i32 {
` hello()
`}
tokens std.ArrayList(Token) = arraylist.init(mem.c_allocator)
tokens std.ArrayList(Token) := arraylist.init(mem.c_allocator)
defer arraylist.deinit(&tokens)
lex(source, &tokens) catch |_| {
+1 -1
View File
@@ -28,7 +28,7 @@ reserve func($T type, list @mut ArrayList(T), minimum_capacity usize) void ! mem
return
}
new_capacity usize = 8
new_capacity usize := 8
if list.capacity >= 8 {
half usize :: divtrunc!(list.capacity, 2)
if list.capacity > maxval!(usize) - half {
+3 -3
View File
@@ -61,7 +61,7 @@ write func(writer Writer, bytes []u8) usize ! WriteError {
}
write_all func(writer Writer, bytes []u8) void ! WriteError {
offset usize = 0
offset usize := 0
while offset < bytes.len {
count usize :: write(writer, bytes[offset..]) catch |err| {
return err
@@ -75,7 +75,7 @@ write_all func(writer Writer, bytes []u8) void ! WriteError {
}
hide system_read func(_ ?*mut anyopaque, stream ReadStream, buffer []mut u8) usize ! ReadError {
request usize = buffer.len
request usize := buffer.len
maximum usize :: usize(maxval!(c_long))
if request > maximum {
request = maximum
@@ -93,7 +93,7 @@ hide system_read func(_ ?*mut anyopaque, stream ReadStream, buffer []mut u8) usi
hide system_write func(_ ?*mut anyopaque, stream WriteStream, bytes []u8) usize ! WriteError {
fd c_int :: c_int(stream)
request usize = bytes.len
request usize := bytes.len
maximum usize :: usize(maxval!(c_long))
if request > maximum {
request = maximum
+13 -13
View File
@@ -32,7 +32,7 @@ eql func($T type, left, right []T) bool {
return false
}
i usize = 0
i usize := 0
while i < left.len : i += 1 {
if left[i] != right[i] {
return false
@@ -41,7 +41,7 @@ eql func($T type, left, right []T) bool {
return true
}
hide empty_storage [1]mut u64 = [0]
hide empty_storage [1]mut u64 := [0]
hide empty_slice func($T type, count usize) []mut T {
pointer *mut T :: ptrcast!(T, (&empty_storage).ptr)
@@ -65,7 +65,7 @@ alloc func($T type, allocator Allocator, count usize) []mut T ! AllocError {
return .out_of_memory
}
memory ?*mut u8 = raw_alloc(allocator, count * element_size, alignof!(T))
memory ?*mut u8 := raw_alloc(allocator, count * element_size, alignof!(T))
if memory |bytes| {
pointer *mut T :: ptrcast!(T, bytes)
return pointer[..count]
@@ -90,13 +90,13 @@ realloc func($T type, allocator Allocator, memory []mut T, new_count usize) []mu
return .out_of_memory
}
old_memory ?*mut u8 = null
old_size usize = 0
old_memory ?*mut u8 := null
old_size usize := 0
if memory.len != 0 {
old_memory = ptrcast!(u8, memory.ptr)
old_size = memory.len * element_size
}
resized ?*mut u8 = raw_realloc(
resized ?*mut u8 := raw_realloc(
allocator,
old_memory,
old_size,
@@ -123,9 +123,9 @@ hide power_of_two func(value usize) bool {
return false
}
current usize = value
current usize := value
while current > 1 {
half usize = divtrunc!(current, 2)
half usize := divtrunc!(current, 2)
if half * 2 != current {
return false
}
@@ -144,8 +144,8 @@ hide c_alloc func(_ ?*mut anyopaque, size usize, alignment usize) ?*mut u8 {
return ptrcast!(u8, c.malloc(c_ulong(size)))
}
memory [1]mut ?*mut anyopaque = [null]
status c_int = c.posix_memalign((&memory).ptr, c_ulong(alignment), c_ulong(size))
memory [1]mut ?*mut anyopaque := [null]
status c_int := c.posix_memalign((&memory).ptr, c_ulong(alignment), c_ulong(size))
if status != 0 {
return null
}
@@ -168,13 +168,13 @@ hide c_realloc func(_ ?*mut anyopaque, memory ?*mut u8, old_size usize, new_size
return ptrcast!(u8, c.realloc(old_memory, c_ulong(new_size)))
}
new_memory ?*mut u8 = c_alloc(null, new_size, alignment)
new_memory ?*mut u8 := c_alloc(null, new_size, alignment)
if new_memory |new_bytes| {
copy_size usize = old_size
copy_size usize := old_size
if new_size < copy_size {
copy_size = new_size
}
i usize = 0
i usize := 0
while i < copy_size : i += 1 {
new_bytes[i] = old_memory[i]
}