66 Commits

Author SHA1 Message Date
0de27e01fd i am so fucking stupid, how tf did i manage to mess this up
I used the rsp register instead of the rbp register for accessing the
stack variables, rsp is the wrong base and changes constantly

fuck
2025-03-14 16:40:53 +01:00
13da26acdb added more comments 2025-03-14 06:27:09 +01:00
e5f576251a amd64: add comments, still broken btw 2025-03-13 16:45:13 +01:00
403f02a140 fixed tests 2025-03-13 10:55:54 +01:00
fa9777c2a8 there has never been a stupider person then me
we use 64 bit integers, but only reserve 4 bytes for them, well, that is
in fact not enough. They were overwriting each other, which caused some
problems ;-)
2025-03-13 10:52:34 +01:00
8137b45788 amd64: function call support WIP broken 2025-03-12 22:28:59 +01:00
9cfb80e790 ttir and qbe: added function calls 2025-03-12 21:31:14 +01:00
b57ec5f5cf ttir: added Call instruction 2025-03-12 18:34:41 +01:00
bcfa9fbde8 added function calls util typechecker WIP
still have to add support in ttir and both backends
2025-03-11 12:07:46 +01:00
22aa1ac3ed begin function calls WIP 2025-03-11 10:13:50 +01:00
19c8cb9103 begin function calls
parser done
2025-03-09 19:01:32 +01:00
ee2d23e97f formatted 2025-03-09 14:46:47 +01:00
e0f2da3174 allow specifing the version using nix-build nix --arg version '"0.1.0"' 2025-03-09 12:47:04 +01:00
9edcc92564 support nix-build
run `nix-build nix` to build without flakes
2025-03-09 12:44:50 +01:00
8748df6559 upsi 2025-03-09 12:19:39 +01:00
70cfdb5e95 extracted the nix package into it's own package 2025-03-09 12:18:58 +01:00
290d05da88 finished functions by fixing arguments 2025-03-08 23:22:58 +01:00
b633246af8 direnv and some arg fixes 2025-03-07 16:38:14 +01:00
45dad474e0 fix some function stuff 2025-03-03 14:36:25 +01:00
6425cd3b55 fixed some bugs 2025-02-28 13:06:10 +01:00
508b3fdc7a added functions till typechecker WIP 2025-02-27 11:15:17 +01:00
b0b7ede252 fixed if expressions 2025-02-26 15:18:56 +01:00
e9a1ee0bab fix flake.nix on macos 2025-02-24 11:19:58 +01:00
1b2ebd2361 a lot of stuff 2025-02-23 19:09:03 +01:00
ee26d1371c begin variable resolution 2025-02-21 16:46:54 +01:00
5664794c2f variable support in parser and ast fully implemented 2025-02-21 15:09:31 +01:00
d1c1d8a287 flakes and fixed some tests 2025-02-13 11:12:36 +01:00
855bcff9b4 remove unused raw mode stuff 2025-02-04 12:54:53 +01:00
bae6aa05fc begin with variables 2025-02-03 20:23:28 +01:00
1d70a700c9 begin variables 2025-02-02 21:31:56 +01:00
0692729b40 tested with the test.tt file 2025-02-02 15:24:34 +01:00
90bb478537 fix unit return for if expression 2025-02-02 14:55:13 +01:00
9e6e3bd1e4 if expressions 2025-02-02 14:15:16 +01:00
f98d0b8d18 fix some qbe stuff 2025-01-31 22:09:55 +01:00
5905a198b3 full qbe support i belive 2025-01-31 21:22:57 +01:00
f1ff94c357 wip qbe support 2025-01-31 21:04:09 +01:00
dee1914d90 removed carriage return 2025-01-30 11:10:53 +01:00
4554892b6a raw mode 2025-01-30 11:09:44 +01:00
dbaa77aa1b begin term lib for build system 2025-01-28 14:29:08 +01:00
b175ee2bee build system mostly working 2025-01-28 10:37:18 +01:00
6f542bfc3f continue build 2025-01-27 19:25:34 +01:00
b53d40d101 begin qbe support and custom build system 2025-01-27 18:38:07 +01:00
bc554cdedf added new equality operators 2025-01-27 10:08:23 +01:00
5b46794539 added block and no return value generation 2025-01-26 21:05:28 +01:00
9ac98c344f begin block expression and added grouped expression 2025-01-26 20:01:38 +01:00
6504ad7134 fix: typechecker error handling
- rename Architecture.md -> architecture.md
- change error handling in typechecker to print the token loc for binary
expressions and also not prefix the error when printed in cmd
2025-01-26 14:25:34 +01:00
ab7e332ac4 added a small todo file 2025-01-25 22:05:47 +01:00
1dae344e09 added some tests 2025-01-25 22:02:02 +01:00
cefa2698c6 split up checker and inferer and added booleans 2025-01-25 18:15:02 +01:00
62c1e46e17 begin with typechecker improvement 2025-01-25 15:51:26 +01:00