pslang/examples/ir_test.psl

29 lines
559 B
PSL

func print(c: u8):
foreign func putchar(c: i32) -> i32
putchar(c as i32)
func print32(n: u32):
if n >= 10u:
print32(n / 10u)
print('0' + ((n % 10u) as u8))
func alloc(size: u64) -> unit mut*:
foreign func malloc(size: u64) -> unit mut*
return malloc(size)
foreign func free(ptr: unit*)
let count = 30
let array = alloc(4 * count as u64) as u32 mut*
array[0] = 0u
array[1] = 1u
print32(array[0])
print('\n')
print32(array[1])
print('\n')
mut i = 2
while i < count:
array[i] = array[i - 1] + array[i - 2]
print32(array[i])
print('\n')
i = i + 1