425 Commits

Author SHA1 Message Date
David Gonzalez Martin
d2655ee4a8 Fix builder not compiling 2023-11-30 18:05:37 -06:00
David
1a4d6d36c4
Merge pull request #27 from birth-software/current-executable-path
implement current executable path
2023-11-30 17:34:58 -06:00
David Gonzalez Martin
c6ef35aeed implement current executable path 2023-11-30 17:33:45 -06:00
David
3e6f7e62da
Merge pull request #26 from birth-software/for
ranged for loop
2023-11-29 13:00:07 -06:00
David Gonzalez Martin
d5910989d1 ranged for loop 2023-11-29 12:58:49 -06:00
David Gonzalez Martin
96a7c656e9 create virtual memory test 2023-11-28 21:16:06 -06:00
David
5fb06cd515
Merge pull request #25 from birth-software/allocator
implement page allocator
2023-11-28 18:41:04 -06:00
David Gonzalez Martin
5145110fbf implement page allocator 2023-11-28 18:39:45 -06:00
David
48736fd7c3
Merge pull request #24 from birth-software/named-arguments
add named arguments
2023-11-21 10:45:31 -06:00
David Gonzalez Martin
4acf1c36f1 add named arguments 2023-11-21 10:44:36 -06:00
David
956c6ec2d9
Merge pull request #23 from birth-software/split-bootstrap
Move bootstrap away from src
2023-11-20 09:37:06 -06:00
David Gonzalez Martin
073f636ee9 Move bootstrap away from src 2023-11-20 09:36:04 -06:00
David
3ae6193706
Merge pull request #22 from birth-software/c-transpiler
Add C transpiler
2023-11-20 08:58:45 -06:00
David Gonzalez Martin
883f0b2faa Add C transpiler 2023-11-20 01:09:51 -06:00
David Gonzalez Martin
df53762d92 commit before transpiling 2023-11-19 09:22:39 -06:00
David
20fe6c8f97
Merge pull request #21 from birth-software/shifts
implement shifts
2023-11-13 20:50:18 -06:00
David Gonzalez Martin
4c358c2f89 implement shifts 2023-11-13 20:49:24 -06:00
David
33eb057529
Merge pull request #20 from birth-software/ci-tweak
disable zig tests
2023-11-13 10:29:42 -06:00
David Gonzalez Martin
dda2930256 disable zig tests 2023-11-13 10:28:11 -06:00
David
797b1f619a
Merge pull request #19 from birth-software/signed-division
implement signed division
2023-11-13 10:27:54 -06:00
David Gonzalez Martin
f96cf16a2a implement signed division 2023-11-13 10:26:05 -06:00
David
8ab7a0d768
Merge pull request #18 from birth-software/imul-test
actually add imul test case
2023-11-12 20:45:12 -06:00
David Gonzalez Martin
4d1d5fa1c0 actually add imul test case 2023-11-12 20:35:26 -06:00
David
752fe9e115
Merge pull request #16 from birth-software/imul
implement signed multiplication
2023-11-12 20:09:09 -06:00
David Gonzalez Martin
d390ee08f6 implement signed multiplication 2023-11-12 20:06:12 -06:00
David
be6ea6c45d
Merge pull request #15 from birth-software/more-binary-operands
implement and, or, xor
2023-11-12 17:24:18 -06:00
David Gonzalez Martin
eb681dc7a1 implement and, or, xor 2023-11-12 17:21:45 -06:00
David
6f36f45ef7
Merge pull request #14 from birth-software/add-sub
implement add and sub
2023-11-12 11:12:50 -06:00
David Gonzalez Martin
35657715e9 implement add and sub 2023-11-12 11:11:06 -06:00
David
be143a8415
Merge pull request #13 from birth-software/fix-register-allocation
Fix register allocation for argument passing
2023-11-11 09:26:56 -06:00
David Gonzalez Martin
e75f3f3a68 Fix register allocation for call argument passing 2023-11-11 09:26:09 -06:00
David
9d6607b460
Merge pull request #12 from birth-software/hello-world
Hello world
2023-11-10 17:10:02 -06:00
David Gonzalez Martin
31185e6779 hello_world: finish producing a hello world exe
Section manager redesign
Linker relocations
Using global strings
String literal fixup in sema
2023-11-10 17:06:27 -06:00
David Gonzalez Martin
73769beb32 x86_64: some encodings 2023-11-10 12:38:14 -06:00
David Gonzalez Martin
9dc5f795b2 x86_64: implicit definition of RAX after syscall 2023-11-10 11:02:17 -06:00
David Gonzalez Martin
5dceac7720 ir: don't emit constants in function instructions
This aims to improve register allocation
2023-11-10 10:43:23 -06:00
David Gonzalez Martin
da07fd5ca4 implement lea for globals and argument tweaks 2023-11-10 10:42:30 -06:00
David
8755c32aff
Merge pull request #11 from birth-software/stack-test
add stack test
2023-11-09 23:41:38 -06:00
David Gonzalez Martin
46f4679cc7 add stack test 2023-11-09 23:40:47 -06:00
David
d025291290
Merge pull request #10 from birth-software/backend-improvement
Backend improvement
2023-11-09 23:34:01 -06:00
David Gonzalez Martin
aee9770f8b Exclude other OS different than Linux in CI 2023-11-09 23:32:29 -06:00
David Gonzalez Martin
22243d296c add encoding and elf linking 2023-11-09 23:20:34 -06:00
David Gonzalez Martin
30baa0b53d Fix register allocator for barebones use 2023-11-08 22:26:22 -06:00
David Gonzalez Martin
b24bd8221e Add custom logger 2023-11-08 09:27:45 -06:00
David Gonzalez Martin
aefabd6108 almost working register allocator 2023-11-07 15:00:48 -06:00
David Gonzalez Martin
77e54285f5 instruction selection 2023-11-06 13:30:35 -06:00
David
f63fcbcb62
Merge pull request #9 from birth-software/zig-build-test
integrate tests into zig build API
2023-10-02 19:13:42 -06:00
David Gonzalez Martin
80ab6949d2 integrate tests into zig build API 2023-10-02 19:10:26 -06:00
David Gonzalez Martin
29dc3ffdf4 Fix release build 2023-10-02 14:20:40 -06:00
David
7977bccf64
Merge pull request #8 from birth-software/main-function
main function
2023-10-02 13:25:51 -06:00