Commit Graph

445 Commits

Author SHA1 Message Date
4fada0036c Fix debug info for structs 2025-07-31 23:25:46 +03:00
4f0ee72c83 Edit example a bit, fix macro generation in function parameters 2025-07-31 22:48:16 +03:00
deed96bbfd Fix bitwise operators requiring U64 for rhs 2025-07-31 22:17:58 +03:00
1e094eeea0 Allow wider expressions for when self is not taken as borrow 2025-07-29 23:55:31 +03:00
3adb745576 Fix struct recursion testing 2025-07-29 23:38:26 +03:00
8f7b785664 Fix two small bugs, add new example to test 2025-07-29 23:16:56 +03:00
b71c253942 Add types to hovers in LSP, fix around and add metas 2025-07-29 21:39:14 +03:00
7d3aaa143a Start adding type-information to tooltips 2025-07-29 20:44:15 +03:00
6619f1f0a9 Add simple error diagnostic from parser 2025-07-29 19:53:12 +03:00
c262418f88 Add comments and whitespace to lexer 2025-07-29 16:41:07 +03:00
2dd3a5904b Add whitespace to lexer 2025-07-29 16:37:58 +03:00
ff1da716e9 Update README.md 2025-07-29 16:08:54 +03:00
2303bf757a Rename macro to include_bytes!() 2025-07-29 15:57:26 +03:00
7234cad5f0 Allow &[ty; _] to be cast into *ty 2025-07-29 15:56:06 +03:00
baa068a371 Load file contents relative to module path instead of PWD 2025-07-29 15:44:14 +03:00
8b1d1084a6 Improve formatting for globals 2025-07-29 15:25:14 +03:00
f5f55079a9 Make global identifier for macro-generated globals better 2025-07-29 15:19:14 +03:00
baa7bafafc Add length-intrinsic 2025-07-29 01:15:09 +03:00
f700c577f1 Add reading file to buffer macro, only works for one global per file 2025-07-29 00:50:07 +03:00
140d963d9b Read file contents to binary within macro 2025-07-29 00:18:50 +03:00
480ba5155a Initialize global arrays in macros 2025-07-29 00:07:40 +03:00
2207c3df83 Add initial support for array globals 2025-07-29 00:06:47 +03:00
735c3231b1 Make macros generate globals 2025-07-28 23:49:22 +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
a7ac974f46 Change macro pass workflow a little bit 2025-07-28 22:57:06 +03:00
3d8f4bbd24 Implement macro-pass 2025-07-28 22:37:24 +03:00
33ed1fd813 Add macro call convention 2025-07-28 22:18:30 +03:00
67a5fcd002 Basically revert everything, create macro-pass 2025-07-28 22:11:46 +03:00
80bdf4eba8 Merge branch 'main' into macros 2025-07-28 22:03:06 +03:00
bd8994bb37 Fix linking associated functions, fix other examples 2025-07-28 22:02:49 +03:00
2e153922f1 Start adding macros 2025-07-28 21:54:51 +03:00
89850d7b4f Change intrinsic alloca to malloc and actually use libc malloc 2025-07-28 21:22:15 +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
e14efa2ea7 Update allocator to remove dynamic allocations from lists/structs 2025-07-28 19:52:49 +03:00
b643c13582 Use metadata instead of names for allocator identification 2025-07-28 19:22:03 +03:00
e412a2e1d7 Fix allocator 2025-07-28 19:04:37 +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
60860498df Possibly fix binop type inference infinite recursion 2025-07-28 17:31:18 +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
bb7347c97b Possibly fix binop type inferrence 2025-07-28 14:30:57 +03:00
a680064b0f Improve binary operation inference, still not great 2025-07-28 14:22:27 +03:00
469ce3ce77 Improve type inferrence for binops 2025-07-28 13:02:02 +03:00
97948d8c38 Help typechecker a little bit 2025-07-28 12:18:42 +03:00
a4e18af983 Add intrinsic bit-operators 2025-07-28 12:16:14 +03:00