This commit is contained in:
nub31
2025-06-13 00:09:15 +02:00
parent cae8c81380
commit 93a95c2a0c
5 changed files with 5 additions and 362 deletions

View File

@@ -1,340 +0,0 @@
namespace sys
// let read: i64 = 0
// let write: i64 = 1
// let open: i64 = 2
// let close: i64 = 3
// let stat: i64 = 4
// let fstat: i64 = 5
// let lstat: i64 = 6
// let poll: i64 = 7
// let lseek: i64 = 8
// let mmap: i64 = 9
// let mprotect: i64 = 10
// let munmap: i64 = 11
// let brk: i64 = 12
// let rt_sigaction: i64 = 13
// let rt_sigprocmask: i64 = 14
// let rt_sigreturn: i64 = 15
// let ioctl: i64 = 16
// let pread64: i64 = 17
// let pwrite64: i64 = 18
// let readv: i64 = 19
// let writev: i64 = 20
// let access: i64 = 21
// let pipe: i64 = 22
// let select: i64 = 23
// let sched_yield: i64 = 24
// let mremap: i64 = 25
// let msync: i64 = 26
// let mincore: i64 = 27
// let madvise: i64 = 28
// let shmget: i64 = 29
// let shmat: i64 = 30
// let shmctl: i64 = 31
// let dup: i64 = 32
// let dup2: i64 = 33
// let pause: i64 = 34
// let nanosleep: i64 = 35
// let getitimer: i64 = 36
// let alarm: i64 = 37
// let setitimer: i64 = 38
// let getpid: i64 = 39
// let sendfile: i64 = 40
// let socket: i64 = 41
// let connect: i64 = 42
// let accept: i64 = 43
// let sendto: i64 = 44
// let recvfrom: i64 = 45
// let sendmsg: i64 = 46
// let recvmsg: i64 = 47
// let shutdown: i64 = 48
// let bind: i64 = 49
// let listen: i64 = 50
// let getsockname: i64 = 51
// let getpeername: i64 = 52
// let socketpair: i64 = 53
// let setsockopt: i64 = 54
// let getsockopt: i64 = 55
// let clone: i64 = 56
// let fork: i64 = 57
// let vfork: i64 = 58
// let execve: i64 = 59
// let exit: i64 = 60
// let wait4: i64 = 61
// let kill: i64 = 62
// let uname: i64 = 63
// let semget: i64 = 64
// let semop: i64 = 65
// let semctl: i64 = 66
// let shmdt: i64 = 67
// let msgget: i64 = 68
// let msgsnd: i64 = 69
// let msgrcv: i64 = 70
// let msgctl: i64 = 71
// let fcntl: i64 = 72
// let flock: i64 = 73
// let fsync: i64 = 74
// let fdatasync: i64 = 75
// let truncate: i64 = 76
// let ftruncate: i64 = 77
// let getdents: i64 = 78
// let getcwd: i64 = 79
// let chdir: i64 = 80
// let fchdir: i64 = 81
// let rename: i64 = 82
// let mkdir: i64 = 83
// let rmdir: i64 = 84
// let creat: i64 = 85
// let link: i64 = 86
// let unlink: i64 = 87
// let symlink: i64 = 88
// let readlink: i64 = 89
// let chmod: i64 = 90
// let fchmod: i64 = 91
// let chown: i64 = 92
// let fchown: i64 = 93
// let lchown: i64 = 94
// let umask: i64 = 95
// let gettimeofday: i64 = 96
// let getrlimit: i64 = 97
// let getrusage: i64 = 98
// let sysinfo: i64 = 99
// let times: i64 = 100
// let ptrace: i64 = 101
// let getuid: i64 = 102
// let syslog: i64 = 103
// let getgid: i64 = 104
// let setuid: i64 = 105
// let setgid: i64 = 106
// let geteuid: i64 = 107
// let getegid: i64 = 108
// let setpgid: i64 = 109
// let getppid: i64 = 110
// let getpgrp: i64 = 111
// let setsid: i64 = 112
// let setreuid: i64 = 113
// let setregid: i64 = 114
// let getgroups: i64 = 115
// let setgroups: i64 = 116
// let setresuid: i64 = 117
// let getresuid: i64 = 118
// let setresgid: i64 = 119
// let getresgid: i64 = 120
// let getpgid: i64 = 121
// let setfsuid: i64 = 122
// let setfsgid: i64 = 123
// let getsid: i64 = 124
// let capget: i64 = 125
// let capset: i64 = 126
// let rt_sigpending: i64 = 127
// let rt_sigtimedwait: i64 = 128
// let rt_sigqueueinfo: i64 = 129
// let rt_sigsuspend: i64 = 130
// let sigaltstack: i64 = 131
// let utime: i64 = 132
// let mknod: i64 = 133
// let uselib: i64 = 134
// let personality: i64 = 135
// let ustat: i64 = 136
// let statfs: i64 = 137
// let fstatfs: i64 = 138
// let sysfs: i64 = 139
// let getpriority: i64 = 140
// let setpriority: i64 = 141
// let sched_setparam: i64 = 142
// let sched_getparam: i64 = 143
// let sched_setscheduler: i64 = 144
// let sched_getscheduler: i64 = 145
// let sched_get_priority_max: i64 = 146
// let sched_get_priority_min: i64 = 147
// let sched_rr_get_interval: i64 = 148
// let mlock: i64 = 149
// let munlock: i64 = 150
// let mlockall: i64 = 151
// let munlockall: i64 = 152
// let vhangup: i64 = 153
// let modify_ldt: i64 = 154
// let pivot_root: i64 = 155
// let _sysctl: i64 = 156
// let prctl: i64 = 157
// let arch_prctl: i64 = 158
// let adjtimex: i64 = 159
// let setrlimit: i64 = 160
// let chroot: i64 = 161
// let sync: i64 = 162
// let acct: i64 = 163
// let settimeofday: i64 = 164
// let mount: i64 = 165
// let umount2: i64 = 166
// let swapon: i64 = 167
// let swapoff: i64 = 168
// let reboot: i64 = 169
// let sethostname: i64 = 170
// let setdomainname: i64 = 171
// let iopl: i64 = 172
// let ioperm: i64 = 173
// let create_module: i64 = 174
// let init_module: i64 = 175
// let delete_module: i64 = 176
// let get_kernel_syms: i64 = 177
// let query_module: i64 = 178
// let quotactl: i64 = 179
// let nfsservctl: i64 = 180
// let getpmsg: i64 = 181
// let putpmsg: i64 = 182
// let afs_syscall: i64 = 183
// let tuxcall: i64 = 184
// let security: i64 = 185
// let gettid: i64 = 186
// let readahead: i64 = 187
// let setxattr: i64 = 188
// let lsetxattr: i64 = 189
// let fsetxattr: i64 = 190
// let getxattr: i64 = 191
// let lgetxattr: i64 = 192
// let fgetxattr: i64 = 193
// let listxattr: i64 = 194
// let llistxattr: i64 = 195
// let flistxattr: i64 = 196
// let removexattr: i64 = 197
// let lremovexattr: i64 = 198
// let fremovexattr: i64 = 199
// let tkill: i64 = 200
// let time: i64 = 201
// let futex: i64 = 202
// let sched_setaffinity: i64 = 203
// let sched_getaffinity: i64 = 204
// let set_thread_area: i64 = 205
// let io_setup: i64 = 206
// let io_destroy: i64 = 207
// let io_getevents: i64 = 208
// let io_submit: i64 = 209
// let io_cancel: i64 = 210
// let get_thread_area: i64 = 211
// let lookup_dcookie: i64 = 212
// let epoll_create: i64 = 213
// let epoll_ctl_old: i64 = 214
// let epoll_wait_old: i64 = 215
// let remap_file_pages: i64 = 216
// let getdents64: i64 = 217
// let set_tid_address: i64 = 218
// let restart_syscall: i64 = 219
// let semtimedop: i64 = 220
// let fadvise64: i64 = 221
// let timer_create: i64 = 222
// let timer_settime: i64 = 223
// let timer_gettime: i64 = 224
// let timer_getoverrun: i64 = 225
// let timer_delete: i64 = 226
// let clock_settime: i64 = 227
// let clock_gettime: i64 = 228
// let clock_getres: i64 = 229
// let clock_nanosleep: i64 = 230
// let exit_group: i64 = 231
// let epoll_wait: i64 = 232
// let epoll_ctl: i64 = 233
// let tgkill: i64 = 234
// let utimes: i64 = 235
// let vserver: i64 = 236
// let mbind: i64 = 237
// let set_mempolicy: i64 = 238
// let get_mempolicy: i64 = 239
// let mq_open: i64 = 240
// let mq_unlink: i64 = 241
// let mq_timedsend: i64 = 242
// let mq_timedreceive: i64 = 243
// let mq_notify: i64 = 244
// let mq_getsetattr: i64 = 245
// let kexec_load: i64 = 246
// let waitid: i64 = 247
// let add_key: i64 = 248
// let request_key: i64 = 249
// let keyctl: i64 = 250
// let ioprio_set: i64 = 251
// let ioprio_get: i64 = 252
// let inotify_init: i64 = 253
// let inotify_add_watch: i64 = 254
// let inotify_rm_watch: i64 = 255
// let migrate_pages: i64 = 256
// let openat: i64 = 257
// let mkdirat: i64 = 258
// let mknodat: i64 = 259
// let fchownat: i64 = 260
// let futimesat: i64 = 261
// let newfstatat: i64 = 262
// let unlinkat: i64 = 263
// let renameat: i64 = 264
// let linkat: i64 = 265
// let symlinkat: i64 = 266
// let readlinkat: i64 = 267
// let fchmodat: i64 = 268
// let faccessat: i64 = 269
// let pselect6: i64 = 270
// let ppoll: i64 = 271
// let unshare: i64 = 272
// let set_robust_list: i64 = 273
// let get_robust_list: i64 = 274
// let splice: i64 = 275
// let tee: i64 = 276
// let sync_file_range: i64 = 277
// let vmsplice: i64 = 278
// let move_pages: i64 = 279
// let utimensat: i64 = 280
// let epoll_pwait: i64 = 281
// let signalfd: i64 = 282
// let timerfd_create: i64 = 283
// let eventfd: i64 = 284
// let fallocate: i64 = 285
// let timerfd_settime: i64 = 286
// let timerfd_gettime: i64 = 287
// let accept4: i64 = 288
// let signalfd4: i64 = 289
// let eventfd2: i64 = 290
// let epoll_create1: i64 = 291
// let dup3: i64 = 292
// let pipe2: i64 = 293
// let inotify_init1: i64 = 294
// let preadv: i64 = 295
// let pwritev: i64 = 296
// let rt_tgsigqueueinfo: i64 = 297
// let perf_event_open: i64 = 298
// let recvmmsg: i64 = 299
// let fanotify_init: i64 = 300
// let fanotify_mark: i64 = 301
// let prlimit64: i64 = 302
// let name_to_handle_at: i64 = 303
// let open_by_handle_at: i64 = 304
// let clock_adjtime: i64 = 305
// let syncfs: i64 = 306
// let sendmmsg: i64 = 307
// let setns: i64 = 308
// let getcpu: i64 = 309
// let process_vm_readv: i64 = 310
// let process_vm_writev: i64 = 311
// let kcmp: i64 = 312
// let finit_module: i64 = 313
// let sched_setattr: i64 = 314
// let sched_getattr: i64 = 315
// let renameat2: i64 = 316
// let seccomp: i64 = 317
// let getrandom: i64 = 318
// let memfd_create: i64 = 319
// let kexec_file_load: i64 = 320
// let bpf: i64 = 321
// let execveat: i64 = 322
// let userfaultfd: i64 = 323
// let membarrier: i64 = 324
// let mlock2: i64 = 325
// let copy_file_range: i64 = 326
// let preadv2: i64 = 327
// let pwritev2: i64 = 328
// let pkey_mprotect: i64 = 329
// let pkey_alloc: i64 = 330
// let pkey_free: i64 = 331
// let statx: i64 = 332
// let io_pgetevents: i64 = 333
// let rseq: i64 = 334
// let pkey_mprotect: i64 = 335
// extern func call(num: i64, ...args: any) calls core_syscall

View File

@@ -1,21 +0,0 @@
namespace c
// extern func printf(fmt: ^u8, ...args: any): void
// extern func getchar(): i32
extern func puts(fmt: []u8)
// extern func malloc(size: i64): ^void
// extern func calloc(num: i64, size: i64): ^void
// extern func realloc(ptr: ^void, size: i64): ^void
// extern func free(ptr: ^void)
// extern func sin(x: f64): f64
// extern func cos(x: f64): f64
// extern func tan(x: f64): f64
// extern func sqrt(x: f64): f64
// extern func pow(x: f64, y: f64): f64
// extern func abs(x: i32): i32
// extern func time(t: ^i64): i64
// extern func clock(): i64
// extern func sleep(seconds: u32): i32

4
input/c.nub Normal file
View File

@@ -0,0 +1,4 @@
namespace c
// extern func printf(fmt: ^u8, ...args: any): void
extern func puts(fmt: []u8)

2
run.sh
View File

@@ -1,4 +1,4 @@
#!/bin/bash
set -e
dotnet run --project src/CLI/CLI.csproj example
dotnet run --project src/CLI/CLI.csproj input
./bin/out