Finch/boot
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz 750eca3e85 --target: windows, linux, arm64, macos or a triple, in the compiler written in Finch
Targets, the target's C compiler (FINCH_CC) for linking, C import for the target (--target to libclang, its
headers), the AAPCS64 and Microsoft x64 ways of passing structs by value (and the System V one),
dllexport for libraries on Windows, .exe names, and running the program through wine or qemu-aarch64.
std/ gets time_windows.fch and proc_windows.fch: a module has a version per system (name_windows.fch,
name_macos.fch, name_linux.fch) that wins over name.fch. stdin, stdout and stderr work where C makes them macros.

Run for real: all 27 programs under tests/run and tests/new pass on ARM64 Linux under qemu and on Windows
under Wine (MinGW), structs by value and callbacks included. macOS is only checked as far as clang accepts the
IR; there is no emulator for it here.
2026-10-25 21:33:19 +01:00
..
ast.fch export fn and finch build --shared, in the compiler written in Finch; FINCH_PATH, FINCH_RT, FINCH_CC 2026-10-25 21:03:05 +01:00
cimport.fch --target: windows, linux, arm64, macos or a triple, in the compiler written in Finch 2026-10-25 21:33:19 +01:00
gen.fch --target: windows, linux, arm64, macos or a triple, in the compiler written in Finch 2026-10-25 21:33:19 +01:00
lexer.fch export fn and finch build --shared, in the compiler written in Finch; FINCH_PATH, FINCH_RT, FINCH_CC 2026-10-25 21:03:05 +01:00
main.fch --target: windows, linux, arm64, macos or a triple, in the compiler written in Finch 2026-10-25 21:33:19 +01:00
parser.fch export fn and finch build --shared, in the compiler written in Finch; FINCH_PATH, FINCH_RT, FINCH_CC 2026-10-25 21:03:05 +01:00
platform.fch --target: windows, linux, arm64, macos or a triple, in the compiler written in Finch 2026-10-25 21:33:19 +01:00