Commit Graph

147 Commits

Author SHA1 Message Date
b12e0a18a9 Add typechecking for custom binops 2025-07-24 15:38:08 +03:00
9f7022b4c0 Add operator to scopebinop, add some typechecking for binops 2025-07-24 15:09:27 +03:00
aec7d55e9b Add codegen to custom binops 2025-07-24 15:03:05 +03:00
4a7f27205c Do similar change to allocator 2025-07-24 14:34:40 +03:00
56b8506f50 Reorder function definition codegen to separate function 2025-07-24 14:32:09 +03:00
954f3438d3 Codegen intrinsics 2025-07-24 11:56:44 +03:00
b793ef7526 Add intrinsic code generation part 1 2025-07-24 11:34:44 +03:00
5ff5651f5f Work on intrinsics, clean up code a bit 2025-07-24 11:29:58 +03:00
3404f0fb6e Add static allocator, fix loop_hard 2025-07-24 03:29:02 +03:00
6664b25932 Fix deref expecting a codegenptr and not borrow 2025-07-24 01:51:44 +03:00
c4017715d2 Codegen for/while loops 2025-07-23 21:07:12 +03:00
a251be2715 Make loops typecheck and type infere 2025-07-23 20:53:11 +03:00
75a7a435d1 Make for-loops syntax sugar instead 2025-07-23 20:44:30 +03:00
1a5e3ef1d9 Add loops ast -> mir 2025-07-23 20:29:13 +03:00
c622d59c93 Fix borrow derefs 2025-07-23 17:52:28 +03:00
fe4e41c435 Fix seeing same type multiple times when importing 2025-07-23 17:21:33 +03:00
8be6ce1549 Fix borrow-example 2025-07-23 16:58:44 +03:00
efeefe0bfe Add scaffolding to return some errors from codegen 2025-07-23 16:06:05 +03:00
3a68154ae5 Add codegen for div and mod 2025-07-23 15:12:21 +03:00
b9459a19bb Add div/mod parsing 2025-07-23 14:59:51 +03:00
97f5eebf22 Fix some warnings 2025-07-22 23:25:49 +03:00
38b7030e98 Fix binary operations 2025-07-22 22:55:44 +03:00
0a90ac4497 Fix inner block generation 2025-07-22 22:15:34 +03:00
682295b04a Fix casting from the same size of integer 2025-07-22 21:05:52 +03:00
8f45c8cf92 Fix nested if/else, add add_num_to_str to standard library 2025-07-22 20:47:39 +03:00
32059682ee Make add_char and set_char work 2025-07-22 20:27:29 +03:00
28437aecb6 Fix indexing return type and casting to and from a char 2025-07-22 20:03:25 +03:00
3d73c52cb4 Fix casting within setters 2025-07-22 19:31:35 +03:00
81ce1dfc2e Fix a bunch of bugs with debug information and stuff 2025-07-22 19:16:45 +03:00
78a1e9f06b Fix typedef issue with modules 2025-07-22 18:03:15 +03:00
f35f1ef701 Repurpose module map and rename old to ErrorModules 2025-07-22 17:34:01 +03:00
fa6b7bdf87 Add temporary line number for for non-local structs 2025-07-22 16:35:15 +03:00
e9bca63f0d Add module id to CustomType, String to std 2025-07-22 16:16:46 +03:00
1224c612c7 Codegen & compile char, change *str to *char 2025-07-22 15:07:33 +03:00
108cf6efa5 Add FCmp to codegen 2025-07-22 15:01:02 +03:00
e220900ac3 Start adding chars 2025-07-22 14:44:28 +03:00
9c0d373f9d Fix casting to same type 2025-07-22 14:21:17 +03:00
e27aa4b8ab Fix pointer-casting 2025-07-22 14:19:28 +03:00
c03a5188ea Finish casting codegen 2025-07-22 14:12:31 +03:00
3378f556ec Add AST -> MIR for typecasting 2025-07-21 21:28:39 +03:00
fe145ad2ef Fix comparisons not working for integers 2025-07-21 20:25:28 +03:00
836a532d8d Fix UserPointer being completely monkeypatched, found the issue 2025-07-21 20:13:15 +03:00
069c277516 Update String to be *str 2025-07-21 19:32:40 +03:00
3d3a9a34f9 Fix binary operators for floats, make library functions extern 2025-07-21 17:32:20 +03:00
feac7163f2 Add a bunch of operations to lib 2025-07-21 17:03:21 +03:00
f0f828d1eb Fix float type coercion and compilation 2025-07-21 16:54:50 +03:00
7c7dde03f9 Fix error reporting on No-Main-Function and add fp compilation 2025-07-21 16:44:16 +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
1ba1ae3213 Try add some display for LLIR 2025-07-21 12:07:42 +03:00