Commit Graph

561 Commits

Author SHA1 Message Date
b0442e5685 Add documentation for include_bytes! 2025-07-29 16:02: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
ebe7fc8d75 Add GetGlobal "instruction" 2025-07-29 00:29:04 +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
ea6458dddc Update documentation 2025-07-28 21:26:22 +03:00
014ba2f638 Update documentation 2025-07-28 21:23: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
ccee457cf4 Update documentation 2025-07-28 19:27:21 +03:00
3f81104c99 Add part of Ray Tracing in One Weekend as an example 2025-07-28 19:22:41 +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
d0e1082029 Refactor scopes a little bit 2025-07-28 18:05:19 +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
2709eb8749 Compile bitwise operations as well 2025-07-28 12:21:00 +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
d06eff9347 Add rest of the bitwise operations to library 2025-07-28 12:10:01 +03:00
49084ea0af Add AST -> MIR for bitwise-operations and or 2025-07-28 11:59:20 +03:00
516833d26f Add parsing for bitwise or/and, xor and bitshifts 2025-07-28 11:53:50 +03:00
63c54ae4da Update gitignore 2025-07-28 02:06:20 +03:00