Commit Graph

205 Commits

Author SHA1 Message Date
e4ce897f94 Fix expression-indexing 2025-07-16 23:29:15 +03:00
d2cf97af66 Move should_load to separate State 2025-07-16 23:22:06 +03:00
d034754202 Possibly fix array_structs 2025-07-16 23:09:36 +03:00
c41aab33a9 Add optional data to PassState Scope 2025-07-16 22:46:52 +03:00
c19384d77b Refactor a bit 2025-07-16 22:38:19 +03:00
3870b421a9 Refactor indexing/accessing a bit, no mutability 2025-07-16 22:04:11 +03:00
4ad871ff3d Remove dbg prints 2025-07-16 21:19:44 +03:00
d4616ea025 Add array_structs.reid to test arrays and structs together 2025-07-16 21:17:28 +03:00
79c98a18f7 Fix some warnings, remove unused code 2025-07-16 21:14:07 +03:00
1eb3e8c095 Refactor IndexedVariableReference being a bit smarter 2025-07-16 21:13:00 +03:00
dbd048c21c Fix struct indexing when setting a field 2025-07-16 20:38:21 +03:00
cd31d7e7cd Nearly fix struct mutability 2025-07-16 20:27:01 +03:00
017b474f0c Fix StructValueIndex never constructed 2025-07-16 19:02:23 +03:00
f2e4b3eff7 Do some cleanup 2025-07-16 18:57:42 +03:00
233ddb60f7 Fix struct gep return type, refactor a bit 2025-07-16 17:53:41 +03:00
2a879b5ef4 Implement codegen for structs 2025-07-16 17:08:15 +03:00
d1a37058df Fix warnings 2025-07-16 16:16:58 +03:00
29996c4a30 Add builder methods to create custom types 2025-07-16 16:16:18 +03:00
31185d921e Properly implement structs in lib 2025-07-16 16:11:45 +03:00
97fc468d78 Update how struct access is displayed 2025-07-16 00:19:49 +03:00
77439ee34a Implement typechecking for structs 2025-07-16 00:16:53 +03:00
aafab49f82 Fix struct access type inference 2025-07-15 23:30:32 +03:00
7075b6f73f Update order of prints 2025-07-15 23:18:01 +03:00
1d1e574136 Implement type inference for structs 2025-07-15 23:16:37 +03:00
e13b6349f0 Add ScopeTypes to Pass 2025-07-15 22:11:38 +03:00
b012a46e91 Process Struct ASTs into MIR 2025-07-15 22:03:48 +03:00
f139a5ad6c Add MIR support for struct types 2025-07-15 21:48:58 +03:00
d9a1e8456d Add struct indexing parsing 2025-07-15 21:28:02 +03:00
c83d53ae53 Add struct type and expression parsing 2025-07-15 21:19:37 +03:00
5fca72a3f9 Add lexing support for structs 2025-07-15 20:37:41 +03:00
0ec427252f Add some support for custom struct types in lib 2025-07-15 20:28:59 +03:00
1acaa29a12 Fix module scopes being linked 2025-07-15 20:09:33 +03:00
6788ef1690 Use AvailableExternally-linkage for externs for imports 2025-07-15 20:01:46 +03:00
6f8c02ac04 Add compilation time to cli 2025-07-15 19:45:03 +03:00
dc9450f64a Fix libtest.sh 2025-07-15 19:35:46 +03:00
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