Commit Graph

61 Commits

Author SHA1 Message Date
d034754202 Possibly fix array_structs 2025-07-16 23:09:36 +03:00
3870b421a9 Refactor indexing/accessing a bit, no mutability 2025-07-16 22:04:11 +03:00
4ad871ff3d Remove dbg prints 2025-07-16 21:19:44 +03:00
dbd048c21c Fix struct indexing when setting a field 2025-07-16 20:38:21 +03:00
cd31d7e7cd Nearly fix struct mutability 2025-07-16 20:27:01 +03:00
f2e4b3eff7 Do some cleanup 2025-07-16 18:57:42 +03:00
233ddb60f7 Fix struct gep return type, refactor a bit 2025-07-16 17:53:41 +03:00
2a879b5ef4 Implement codegen for structs 2025-07-16 17:08:15 +03:00
d1a37058df Fix warnings 2025-07-16 16:16:58 +03:00
29996c4a30 Add builder methods to create custom types 2025-07-16 16:16:18 +03:00
31185d921e Properly implement structs in lib 2025-07-16 16:11:45 +03:00
0ec427252f Add some support for custom struct types in lib 2025-07-15 20:28:59 +03:00
6788ef1690 Use AvailableExternally-linkage for externs for imports 2025-07-15 20:01:46 +03:00
bcad9b57fe Make the compiler produce .o/.asm/.ll according to input file name 2025-07-15 00:25:17 +03:00
5b5ec48b8d Put all debug prints behind debug-assertions 2025-07-14 23:43:03 +03:00
fa4df50a04 Fix linking so that non-imported functions don't bother main-module 2025-07-14 22:22:55 +03:00
2b47c4efc7 Make linking modules together work, fix printing modules 2025-07-14 21:10:13 +03:00
3d5ddc60dc Fix void function calls not discarding name 2025-07-14 19:16:52 +03:00
735c4370aa Add pub keyword 2025-07-14 18:47:02 +03:00
067c84e93e Implement external function linkage in lib 2025-07-14 18:29:45 +03:00
4eaa365674 Add function flags and codegen extern functions 2025-07-14 18:26:57 +03:00
376baa2c9a Remove length param from string, use string pointers instead 2025-07-14 18:22:05 +03:00
83475b144c Codegen strings 2025-07-14 17:54:56 +03:00
1b9f3dbca0 Fix warnings 2025-07-14 02:26:55 +03:00
86eab29173 Make nested arrays work 2025-07-14 01:20:50 +03:00
5d06ecb874 Add broken support for nested arrays 2025-07-14 00:05:05 +03:00
d99c450e61 Fix some warnings 2025-07-13 23:14:51 +03:00
cbb1be1161 Implement GEP instead of the weird thing before 2025-07-13 23:14:16 +03:00
312a777203 Get arrays to compile while still not supporting mutability for a bit 2025-07-13 22:04:49 +03:00
d62d6e2845 Actually finish array-support for lib 2025-07-13 20:56:24 +03:00
a2e52e0bd2 Add Array support to llvm-lib 2025-07-13 20:31:33 +03:00
e79a0fe458 Update where default value is calculated, fix load type 2025-07-12 23:59:16 +03:00
04e0c136df Fix warnings 2025-07-12 14:42:43 +03:00
14e0dcbe15 (broken) add part 1 of mutability 2025-07-12 02:38:31 +03:00
1aa9b3e76c Add RetVoid just in case 2025-07-09 22:01:32 +03:00
94c4ec0613 Add a block garbage-collector that will delete an unused block at end 2025-07-09 21:57:48 +03:00
d757ac4eb3 Fiddle around with if-expression codegen 2025-07-09 21:12:39 +03:00
a907fec967 Fix module docs 2025-07-09 20:07:30 +03:00
9710d17e00 Add a bunch of documentation 2025-07-09 20:01:24 +03:00
b84672ef8c Add Mult and And -operators to the whole chain 2025-07-09 19:08:21 +03:00
8afb2c2572 Fix bug in Logic Operator conversion 2025-07-09 19:00:03 +03:00
d5daaa0e87 Improve Debug and Display implementations 2025-07-09 18:47:40 +03:00
49df6c9ed9 Add a bunch of new integer comparison operators 2025-07-09 16:05:08 +03:00
46560d8541 Add all types u8 -> i128 and fix signedness in icmp 2025-07-08 23:47:44 +03:00
2e99ec3a80 Fix warnings 2025-07-08 18:48:18 +03:00
95b3ffe8ef Add custom debug format for LLIR 2025-07-08 00:04:35 +03:00
48ae533f33 Remove the old files 2025-07-06 20:49:28 +03:00
35efa78a56 Connect all the wires again 2025-07-06 20:49:13 +03:00
58117d86e4 Make a more Rusty LLIR for the lib that is compiled to LLVM IR 2025-07-06 19:47:05 +03:00
8a32e66ba8 Refactor a bunch of stuff, produce compiling MIR 2025-07-04 21:30:40 +03:00