I might be crazy
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-22 23:23:12 +01:00
.forgejo/workflows Remove unused workflows 2026-07-22 23:14:34 +01:00
programs Move x86-64 solution 2026-07-22 23:16:10 +01:00
.gitignore Move gitignore to root 2026-07-22 23:15:55 +01:00
LICENSE.md Add license file 2026-07-22 23:22:35 +01:00
README.md Update basic README 2026-07-22 23:22:42 +01:00

Compiler From Scratch

Writing a Compiler from Scratch. Because I'm Crazy.

And I mean from ABSOLUTE scratch - starting at binary level for individual architectures!

Main architecture will be RISC-V, however there are investigative work done in x86 and Aarch64.

Building

Most initial programs can be built using a simple set of commands:

$ cat \
	00_elf_header.txt \
	01_program_header.txt \
	02_program_code.txt \
	03_string_table.txt \
	04_section_header_null.txt \
	05_section_header_program.txt \
	06_section_header_string_table.txt \
    > out.txt
$ grep -v "#" out.txt > out.hex
$ xxd -plain -revert out.hex out

License

MIT - See LICENSE