Commit Graph

350 Commits

Author SHA1 Message Date
bcc93dd60c Add parsing to floats 2025-07-21 16:18:14 +03:00
96947be97a Remove additional llvm ir print, update readme 2025-07-21 15:47:50 +03:00
e370e17ffd Only include STD if it is imported 2025-07-21 15:47:02 +03:00
b23577aa18 Check for trivial expressions that they are >0 when unsigned 2025-07-21 15:44:47 +03:00
d65b0153a1 Implement unary operators as syntax sugar 2025-07-21 15:12:49 +03:00
14b6e6b2f9 Update readme 2025-07-21 14:56:57 +03:00
48674912fa Update README.md 2025-07-21 14:50:57 +03:00
ed9c8638d5 Get pointers working 2025-07-21 14:43:24 +03:00
9db508bd9c Change user-space pointer to different type 2025-07-21 13:52:37 +03:00
a49105b07a Add typecheck/infer for pointers 2025-07-21 13:29:19 +03:00
3b43689650 Add parsing pointer-type 2025-07-21 13:25:01 +03:00
c9b363d9e8 Update README 2025-07-21 12:21:09 +03:00
1ba1ae3213 Try add some display for LLIR 2025-07-21 12:07:42 +03:00
f55040ad00 Update how types are formatted 2025-07-21 11:06:42 +03:00
ce645519ce Fix NamedVarRefrence tokenrange 2025-07-21 10:52:33 +03:00
d2ee61e888 Update borrow_hard back 2025-07-21 10:43:55 +03:00
37386db437 Check for mutability when doing a let 2025-07-21 10:43:24 +03:00
5763df948f Check borrow mutability against variable mutability 2025-07-21 10:39:19 +03:00
1fadaa60f2 Add mutability compatibility check to borrows 2025-07-21 10:33:37 +03:00
74ce296a05 Refactor a bit 2025-07-21 10:29:26 +03:00
2293b6edb8 Add some type of mutability-guard 2025-07-21 10:24:25 +03:00
b9f6f2ba0f Make param mutable based on type 2025-07-21 10:23:30 +03:00
60818842a5 Add borrow mutability 2025-07-21 10:21:25 +03:00
8da32c25c5 Make borrows work as function parameters as well 2025-07-21 10:07:56 +03:00
2e829bc8a9 Fix linker, add e2e tests 2025-07-21 09:59:35 +03:00
cbea8660c2 Update README.md 2025-07-21 09:57:18 +03:00
09cec9c110 Implement borrowing in codegen 2025-07-21 09:54:55 +03:00
c8d6566489 Delete useless files 2025-07-20 22:41:54 +03:00
893eaaa865 Clean up and fix some warnings 2025-07-20 22:36:38 +03:00
550fec2827 Fix typeinference and checking for borrows/derefs 2025-07-20 22:33:00 +03:00
47fa5f342f Nearly get typechecking working for deref/borrow 2025-07-20 22:15:16 +03:00
62d73b19a2 Improve error messages for typerefs a bit 2025-07-20 21:51:18 +03:00
c0e375d84c Add typechecking for borrow/deref 2025-07-20 21:48:00 +03:00
cf30f79951 Add type inference for borrow/deref 2025-07-20 21:43:27 +03:00
26818cec96 Add AST->MIR for borrow/deref 2025-07-20 21:34:47 +03:00
93b4de9230 Add arithmetic example 2025-07-20 21:26:50 +03:00
ba8ee770fb Parse deref and borrow 2025-07-20 21:25:08 +03:00
8bb337dbca Update readme 2025-07-20 21:09:04 +03:00
d7661cb968 Add metadata location to function calls 2025-07-20 21:08:15 +03:00
33d5ee03f0 Improve LLVM IR SSA names 2025-07-20 20:50:32 +03:00
71a01dad69 Remove name from alloca 2025-07-20 20:24:26 +03:00
848f4118bf Fix params not being pointers 2025-07-20 20:13:47 +03:00
158ddc58c8 Fix structs loading values prematurely 2025-07-20 20:00:34 +03:00
be76331a47 Get recursive structs and arrays working too 2025-07-20 19:59:03 +03:00
d631e80267 At crossroads 2025-07-20 19:54:43 +03:00
c723ba7b4a Get inner arrays working 2025-07-20 19:30:34 +03:00
a62f9db422 Get static arrays actually working alone 2025-07-20 19:23:42 +03:00
de95db7cc1 Create named structs instead of anonymous 2025-07-20 17:51:08 +03:00
b185e2ecc6 Import typedefs from other modules as well 2025-07-20 15:55:47 +03:00
e8e2b4cebd Implement parsing of multiple parameters 2025-07-20 15:32:56 +03:00