Commit Graph

170 Commits

Author SHA1 Message Date
19c883ea33 Add e2e tests 2025-07-15 02:55:26 +03:00
824978de49 Remove array binary 2025-07-15 01:20:44 +03:00
28d632d51c Add Makefile by @neon, fix array typechecking during typeinference 2025-07-15 01:17:00 +03:00
bcad9b57fe Make the compiler produce .o/.asm/.ll according to input file name 2025-07-15 00:25:17 +03:00
5b5ec48b8d Put all debug prints behind debug-assertions 2025-07-14 23:43:03 +03:00
0e5f12e0e2 Update README 2025-07-14 22:57:33 +03:00
587aa1d7f2 Fix warnings 2025-07-14 22:56:31 +03:00
1e759d49c7 Fix issue in type-inference pass about function params not registering 2025-07-14 22:55:43 +03:00
5acd1624fd Move test to inside-executable, and add tests that test it compiles 2025-07-14 22:52:30 +03:00
3f90b46dc8 Include stdlib in executable 2025-07-14 22:33:04 +03:00
fa4df50a04 Fix linking so that non-imported functions don't bother main-module 2025-07-14 22:22:55 +03:00
2b47c4efc7 Make linking modules together work, fix printing modules 2025-07-14 21:10:13 +03:00
848347e4a8 Add importer pass, make importer import module properly 2025-07-14 20:35:58 +03:00
a71843dfe9 Implement import-pass 2025-07-14 20:13:30 +03:00
464156b2dc Fix imports in MIR 2025-07-14 19:20:38 +03:00
3d5ddc60dc Fix void function calls not discarding name 2025-07-14 19:16:52 +03:00
b82cbcb45c Fix function call not faulting on undefined function 2025-07-14 19:02:21 +03:00
7a2a965cd7 Fix functions being in their own scopes 2025-07-14 18:49:51 +03:00
735c4370aa Add pub keyword 2025-07-14 18:47:02 +03:00
067c84e93e Implement external function linkage in lib 2025-07-14 18:29:45 +03:00
4eaa365674 Add function flags and codegen extern functions 2025-07-14 18:26:57 +03:00
376baa2c9a Remove length param from string, use string pointers instead 2025-07-14 18:22:05 +03:00
1173e17fe6 Update TODO-list 2025-07-14 17:57:34 +03:00
83475b144c Codegen strings 2025-07-14 17:54:56 +03:00
73a3b15fb6 Add AST -> MIR for strings 2025-07-14 17:45:36 +03:00
b9dfa9b1ce Add parsing of string literals 2025-07-14 17:39:48 +03:00
d5b0e3ebf7 Add lexing of strings 2025-07-14 17:38:05 +03:00
e15f77d9de Update libtest and make examples/cli.rs 2025-07-14 17:26:38 +03:00
bc1cc99bcc Update examples 2025-07-14 17:19:10 +03:00
b64cdc4c71 Fix if-statement block return type evaluation 2025-07-14 17:17:48 +03:00
bad4713779 Fix index out of bounds off-by-one error 2025-07-14 02:31:01 +03:00
c2a087785e Update README and lib docs 2025-07-14 02:28:01 +03:00
1b9f3dbca0 Fix warnings 2025-07-14 02:26:55 +03:00
86eab29173 Make nested arrays work 2025-07-14 01:20:50 +03:00
5d06ecb874 Add broken support for nested arrays 2025-07-14 00:05:05 +03:00
d2587df4c9 Add mutability to arrays 2025-07-13 23:58:56 +03:00
d99c450e61 Fix some warnings 2025-07-13 23:14:51 +03:00
cbb1be1161 Implement GEP instead of the weird thing before 2025-07-13 23:14:16 +03:00
312a777203 Get arrays to compile while still not supporting mutability for a bit 2025-07-13 22:04:49 +03:00
d62d6e2845 Actually finish array-support for lib 2025-07-13 20:56:24 +03:00
a2e52e0bd2 Add Array support to llvm-lib 2025-07-13 20:31:33 +03:00
515c031f19 Finish type checking and inferrence for arrays 2025-07-13 20:15:03 +03:00
b14a62bc34 Add typechecking for arrays 2025-07-13 19:39:43 +03:00
4f8153643b Perform type inference for array and indexing expressions 2025-07-13 19:26:20 +03:00
64f07002b4 Update how array is displayed when printed 2025-07-13 19:07:31 +03:00
a18a5b4199 Continue progress, make set-statements as todos for later 2025-07-13 19:00:46 +03:00
10cf9341c5 Add return type for index and array expressions 2025-07-13 18:41:14 +03:00
ad20fefabc Add Array Expression to MIR 2025-07-13 18:37:18 +03:00
587ab8afd5 Make mir array implementation halfway, compiling but not working yet 2025-07-13 18:32:27 +03:00
bf8baa7cd4 Add parsing for setting indexed values 2025-07-13 18:02:27 +03:00