Added types

This commit is contained in:
2024-08-05 18:47:24 +02:00
parent cd1119add2
commit 83661c5e7a
33 changed files with 113 additions and 92 deletions

View File

@ -1,7 +1,7 @@
import mem
import sys
number(x) {
number(x Int) {
length := 20
buffer := mem.alloc(length)
address, count := itoa(x, buffer, length)
@ -9,7 +9,7 @@ number(x) {
mem.free(buffer, length)
}
itoa(x, buffer, length) {
itoa(x Int, buffer Pointer, length Int) -> (Pointer, Int) {
end := buffer + length
tmp := end
digit := 0

View File

@ -1,9 +1,9 @@
import sys
alloc(length) {
alloc(length Int) -> Pointer {
return sys.mmap(0, length, 0x1|0x2, 0x02|0x20|0x100)
}
free(address, length) {
free(address Pointer, length Int) -> Int {
return sys.munmap(address, length)
}

View File

@ -1,71 +1,71 @@
read(fd, address, length) {
read(fd Int, address Pointer, length Int) -> Int {
return syscall(0, fd, address, length)
}
write(fd, address, length) {
write(fd Int, address Pointer, length Int) -> Int {
return syscall(1, fd, address, length)
}
open(file, flags, mode) {
open(file Pointer, flags Int, mode Int) -> Int {
return syscall(2, file, flags, mode)
}
close(fd) {
close(fd Int) -> Int {
return syscall(3, fd)
}
mmap(address, length, protection, flags) {
mmap(address Int, length Int, protection Int, flags Int) -> Int {
return syscall(9, address, length, protection, flags)
}
munmap(address, length) {
munmap(address Pointer, length Int) -> Int {
return syscall(11, address, length)
}
clone(flags, stack) {
clone(flags Int, stack Pointer) -> ThreadID {
return syscall(56, flags, stack)
}
exit(code) {
syscall(60, code)
exit(status Int) {
syscall(60, status)
}
socket(family, type, protocol) {
socket(family Int, type Int, protocol Int) -> Int {
return syscall(41, family, type, protocol)
}
accept(fd, address, length) {
accept(fd Int, address Pointer, length Int) -> Int {
return syscall(43, fd, address, length)
}
bind(fd, address, length) {
bind(fd Int, address Pointer, length Int) -> Int {
return syscall(49, fd, address, length)
}
listen(fd, backlog) {
listen(fd Int, backlog Int) -> Int {
return syscall(50, fd, backlog)
}
getcwd(buffer, length) {
getcwd(buffer Pointer, length Int) -> Int {
return syscall(79, buffer, length)
}
chdir(path) {
chdir(path Pointer) -> Int {
return syscall(80, path)
}
rename(old, new) {
rename(old Pointer, new Pointer) -> Int {
return syscall(82, old, new)
}
mkdir(path, mode) {
mkdir(path Pointer, mode Int) -> Int {
return syscall(83, path, mode)
}
rmdir(path) {
rmdir(path Pointer) -> Int {
return syscall(84, path)
}
unlink(file) {
unlink(file Pointer) -> Int {
return syscall(87, file)
}