Commit Graph

134 Commits

Author SHA1 Message Date
1b1a5934f5 Implement lexical scopes 2025-07-28 18:40:42 +03:00
726251e39c Fix warnings, cleanup 2025-07-28 18:22:51 +03:00
61d3ea61ee Fix debug info 2025-07-28 18:20:00 +03:00
d0e1082029 Refactor scopes a little bit 2025-07-28 18:05:19 +03:00
7ca8949e8c Start adding lexical scopes 2025-07-28 16:11:20 +03:00
a60d35c0b0 Update readme, bump version number 2025-07-28 14:34:58 +03:00
2709eb8749 Compile bitwise operations as well 2025-07-28 12:21:00 +03:00
d06eff9347 Add rest of the bitwise operations to library 2025-07-28 12:10:01 +03:00
cea756b2ad Fix derefs with casts 2025-07-28 01:36:35 +03:00
57b5a5cce4 Increment versions 2025-07-28 01:15:17 +03:00
7b27f30b9e Implement builtin associated alloca and nullptr 2025-07-27 20:46:17 +03:00
0196fb53ed Import binops while importing types as well 2025-07-26 13:18:55 +03:00
6ee43d4012 Refactor stuff into codegen-module 2025-07-25 15:52:52 +03:00
b288fee2d5 Fix parsing of explicitly typed literals 2025-07-25 03:04:04 +03:00
242cf9fb2d Fix debug info for local variables 2025-07-25 02:02:55 +03:00
ea8a833bdf Fix warnings and issues 2025-07-25 00:32:49 +03:00
023d3b75b6 Add flags and cpu to options that are configurable 2025-07-25 00:28:58 +03:00
f2ea749566 Fix FPTrunc 2025-07-24 23:20:26 +03:00
8810d34d54 Get intrinsics to inline at codegen 2025-07-24 17:14:49 +03:00
b793ef7526 Add intrinsic code generation part 1 2025-07-24 11:34:44 +03:00
3404f0fb6e Add static allocator, fix loop_hard 2025-07-24 03:29:02 +03:00
a251be2715 Make loops typecheck and type infere 2025-07-23 20:53:11 +03:00
c622d59c93 Fix borrow derefs 2025-07-23 17:52:28 +03:00
efeefe0bfe Add scaffolding to return some errors from codegen 2025-07-23 16:06:05 +03:00
97f5eebf22 Fix some warnings 2025-07-22 23:25:49 +03:00
1e86a9a2aa Remove main.rs, remove debug prints 2025-07-22 22:42:29 +03:00
8bbee5eb41 Fix binops not using hint properly 2025-07-22 22:34:07 +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
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
fa6b7bdf87 Add temporary line number for for non-local structs 2025-07-22 16:35:15 +03:00
c03a5188ea Finish casting codegen 2025-07-22 14:12:31 +03:00
e73b939de0 Add all cast instructions to lib 2025-07-22 14:05:50 +03:00
a6c9752883 Use unordered comparisons in floats 2025-07-22 13:26:08 +03:00
471c2eaf87 Fix struct-parsing interfering with if-parsing 2025-07-21 20:52:39 +03:00
066f441a77 Add FCmp 2025-07-21 20:34:27 +03:00
836a532d8d Fix UserPointer being completely monkeypatched, found the issue 2025-07-21 20:13:15 +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
96947be97a Remove additional llvm ir print, update readme 2025-07-21 15:47:50 +03:00
b23577aa18 Check for trivial expressions that they are >0 when unsigned 2025-07-21 15:44:47 +03:00
ed9c8638d5 Get pointers working 2025-07-21 14:43:24 +03:00
1ba1ae3213 Try add some display for LLIR 2025-07-21 12:07:42 +03:00
893eaaa865 Clean up and fix some warnings 2025-07-20 22:36:38 +03:00
33d5ee03f0 Improve LLVM IR SSA names 2025-07-20 20:50:32 +03:00