Commit Graph

140 Commits

Author SHA1 Message Date
4fada0036c Fix debug info for structs 2025-07-31 23:25:46 +03:00
deed96bbfd Fix bitwise operators requiring U64 for rhs 2025-07-31 22:17:58 +03:00
6619f1f0a9 Add simple error diagnostic from parser 2025-07-29 19:53:12 +03:00
f700c577f1 Add reading file to buffer macro, only works for one global per file 2025-07-29 00:50:07 +03:00
ebe7fc8d75 Add GetGlobal "instruction" 2025-07-29 00:29:04 +03:00
2207c3df83 Add initial support for array globals 2025-07-29 00:06:47 +03:00
50a875ad21 Add compilation of global values 2025-07-28 23:32:47 +03:00
30257e1a2b Add global api support for llvm-lib 2025-07-28 23:20:13 +03:00
13be3e9c02 Namespace all functions, except those that are explicitly extern 2025-07-28 21:13:53 +03:00
5026013df3 Add intrinsic malloc, use that in alloca 2025-07-28 20:46:58 +03:00
beaba4e7de Mangle function names, except for user defined externs 2025-07-28 20:25:36 +03:00
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
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
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
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