408 Commits

Author SHA1 Message Date
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
David Gonzalez Martin
d391898b95 instruction encoding 2023-10-02 13:23:00 -06:00
David Gonzalez Martin
c7bcfa1de9 instruction selection and register allocation 2023-10-01 15:43:00 -06:00
David Gonzalez Martin
bca2f024cd ir for main function 2023-09-30 12:51:58 -06:00
David Gonzalez Martin
611e611cab sema for main function 2023-09-29 18:22:34 -06:00
David
bf07777ff7
Merge pull request #7 from birth-software/jit-x86
add jit for x86_64
2023-09-24 22:04:44 -06:00
David Gonzalez Martin
7c8acf3e2a add jit for x86_64 2023-09-24 22:03:28 -06:00
David
f2064c93ff
Merge pull request #6 from birth-software/exit-process
exit process
2023-09-24 21:47:03 -06:00
David Gonzalez Martin
65d248588d exit process 2023-09-24 21:45:52 -06:00
David
496fb35189
Merge pull request #5 from birth-software/general-infrastructure
General infrastructure
2023-09-22 09:20:12 -06:00
David Gonzalez Martin
a2535ac512 x86_64 backend 2023-09-22 09:16:39 -06:00
David Gonzalez Martin
48c3b5e224 ir 2023-09-21 12:29:39 -06:00
David Gonzalez Martin
15a7df3f14 Barebones semantic analysis 2023-09-16 21:11:24 -06:00
David Gonzalez Martin
cd32603137 add debugger support for windows 2023-09-09 17:01:07 -06:00
David Gonzalez Martin
953c3faf06 enable macos and windows 2023-09-06 15:27:54 -06:00
David Gonzalez Martin
4e99ae0bf7 rework parser and lexer 2023-09-06 15:22:32 -06:00
David Gonzalez Martin
6616abf57f add carriage return and tabs to the lexer 2023-09-03 21:04:06 -06:00
David
b4cbdb5841
Merge pull request #4 from birth-software/wip
write better lexer and parser
2023-09-03 20:45:50 -06:00