|
f8d2e4996a
|
Refactor typecheck into it's own module
|
2025-07-25 16:19:55 +03:00 |
|
|
0b3ee3bf92
|
Refactor some more
|
2025-07-25 15:55:14 +03:00 |
|
|
6ee43d4012
|
Refactor stuff into codegen-module
|
2025-07-25 15:52:52 +03:00 |
|
|
b288fee2d5
|
Fix parsing of explicitly typed literals
|
2025-07-25 03:04:04 +03:00 |
|
|
6634597c92
|
Add ability to specify variable types in let
|
2025-07-25 00:41:38 +03:00 |
|
|
ea8a833bdf
|
Fix warnings and issues
|
2025-07-25 00:32:49 +03:00 |
|
|
5b46e973d4
|
Add types to number-literals
|
2025-07-24 23:04:35 +03:00 |
|
|
be3c415a57
|
Implement void returns
|
2025-07-24 21:54:55 +03:00 |
|
|
f6425fc37e
|
Embrace having megaintrinsic binops
|
2025-07-24 20:15:13 +03:00 |
|
|
bb0b7c12c3
|
Fix collapsing of both types in type inferrer
|
2025-07-24 19:03:03 +03:00 |
|
|
27db67dd99
|
Possibly fix typechecking for binops
|
2025-07-24 18:42:10 +03:00 |
|
|
8810d34d54
|
Get intrinsics to inline at codegen
|
2025-07-24 17:14:49 +03:00 |
|
|
b12e0a18a9
|
Add typechecking for custom binops
|
2025-07-24 15:38:08 +03:00 |
|
|
9f7022b4c0
|
Add operator to scopebinop, add some typechecking for binops
|
2025-07-24 15:09:27 +03:00 |
|
|
aec7d55e9b
|
Add codegen to custom binops
|
2025-07-24 15:03:05 +03:00 |
|
|
a7795f83db
|
Use FunctionDefinitionKind for binops
|
2025-07-24 13:40:06 +03:00 |
|
|
7c6de93b31
|
Check for existance of pre-existing binops
|
2025-07-24 13:25:33 +03:00 |
|
|
50af50c43f
|
Typecheck custom binops
|
2025-07-24 13:07:49 +03:00 |
|
|
974c7e98f1
|
Add AST -> MIR for custom binops
|
2025-07-24 12:34:16 +03:00 |
|
|
89002f34e4
|
Add function double-definition checking
|
2025-07-24 12:13:34 +03:00 |
|
|
954f3438d3
|
Codegen intrinsics
|
2025-07-24 11:56:44 +03:00 |
|
|
5ff5651f5f
|
Work on intrinsics, clean up code a bit
|
2025-07-24 11:29:58 +03:00 |
|
|
4bef1c2379
|
Start implementing intrinsics
|
2025-07-24 01:39:49 +03:00 |
|
|
7027ee3645
|
Fix default for arrays
|
2025-07-23 23:11:20 +03:00 |
|
|
c4017715d2
|
Codegen for/while loops
|
2025-07-23 21:07:12 +03:00 |
|
|
a251be2715
|
Make loops typecheck and type infere
|
2025-07-23 20:53:11 +03:00 |
|
|
15ff9c5906
|
Fix warnings
|
2025-07-23 20:44:58 +03:00 |
|
|
75a7a435d1
|
Make for-loops syntax sugar instead
|
2025-07-23 20:44:30 +03:00 |
|
|
1a5e3ef1d9
|
Add loops ast -> mir
|
2025-07-23 20:29:13 +03:00 |
|
|
ef4964ed86
|
Add parsing for for/while loops
|
2025-07-23 20:14:35 +03:00 |
|
|
fe4e41c435
|
Fix seeing same type multiple times when importing
|
2025-07-23 17:21:33 +03:00 |
|
|
8b79959288
|
Fix typedefinition in scope
|
2025-07-23 15:34:01 +03:00 |
|
|
82758ae333
|
Only test for typedefinitions in current module
|
2025-07-23 15:22:58 +03:00 |
|
|
b9459a19bb
|
Add div/mod parsing
|
2025-07-23 14:59:51 +03:00 |
|
|
97f5eebf22
|
Fix some warnings
|
2025-07-22 23:25:49 +03:00 |
|
|
9df1593de9
|
Fix decimal parsing, add u128-support for integer parsing
|
2025-07-22 23:20:38 +03:00 |
|
|
8954d1a6d0
|
Add binop_hint
|
2025-07-22 23:14:38 +03:00 |
|
|
2f56f148cb
|
Fix assert_known
|
2025-07-22 22:41:20 +03:00 |
|
|
8bbee5eb41
|
Fix binops not using hint properly
|
2025-07-22 22:34:07 +03:00 |
|
|
ef427f5e58
|
Fix checking that parameters and return-type is known
|
2025-07-22 22:29:00 +03:00 |
|
|
0a90ac4497
|
Fix inner block generation
|
2025-07-22 22:15:34 +03:00 |
|
|
29d790e583
|
Start working on if-expression hands being expressions
|
2025-07-22 20:58:32 +03:00 |
|
|
28437aecb6
|
Fix indexing return type and casting to and from a char
|
2025-07-22 20:03:25 +03:00 |
|
|
bbdfae081d
|
Fix std Strings
|
2025-07-22 19:50:54 +03:00 |
|
|
3d73c52cb4
|
Fix casting within setters
|
2025-07-22 19:31:35 +03:00 |
|
|
78a1e9f06b
|
Fix typedef issue with modules
|
2025-07-22 18:03:15 +03:00 |
|
|
f35f1ef701
|
Repurpose module map and rename old to ErrorModules
|
2025-07-22 17:34:01 +03:00 |
|
|
e9bca63f0d
|
Add module id to CustomType, String to std
|
2025-07-22 16:16:46 +03:00 |
|
|
1224c612c7
|
Codegen & compile char, change *str to *char
|
2025-07-22 15:07:33 +03:00 |
|
|
e220900ac3
|
Start adding chars
|
2025-07-22 14:44:28 +03:00 |
|
|
104205ee5d
|
Type-infer and check typecasting
|
2025-07-22 13:24:53 +03:00 |
|
|
3378f556ec
|
Add AST -> MIR for typecasting
|
2025-07-21 21:28:39 +03:00 |
|
|
069c277516
|
Update String to be *str
|
2025-07-21 19:32:40 +03:00 |
|
|
3d3a9a34f9
|
Fix binary operators for floats, make library functions extern
|
2025-07-21 17:32:20 +03:00 |
|
|
ec0c7fa194
|
Fix float coersion rules
|
2025-07-21 16:53:29 +03:00 |
|
|
a1507e14ca
|
Add flag to ignore no-main-error
|
2025-07-21 16:47:51 +03:00 |
|
|
7c7dde03f9
|
Fix error reporting on No-Main-Function and add fp compilation
|
2025-07-21 16:44:16 +03:00 |
|
|
bcc93dd60c
|
Add parsing to floats
|
2025-07-21 16:18:14 +03:00 |
|
|
e370e17ffd
|
Only include STD if it is imported
|
2025-07-21 15:47:02 +03:00 |
|
|
b23577aa18
|
Check for trivial expressions that they are >0 when unsigned
|
2025-07-21 15:44:47 +03:00 |
|
|
d65b0153a1
|
Implement unary operators as syntax sugar
|
2025-07-21 15:12:49 +03:00 |
|
|
ed9c8638d5
|
Get pointers working
|
2025-07-21 14:43:24 +03:00 |
|
|
9db508bd9c
|
Change user-space pointer to different type
|
2025-07-21 13:52:37 +03:00 |
|
|
a49105b07a
|
Add typecheck/infer for pointers
|
2025-07-21 13:29:19 +03:00 |
|
|
f55040ad00
|
Update how types are formatted
|
2025-07-21 11:06:42 +03:00 |
|
|
37386db437
|
Check for mutability when doing a let
|
2025-07-21 10:43:24 +03:00 |
|
|
5763df948f
|
Check borrow mutability against variable mutability
|
2025-07-21 10:39:19 +03:00 |
|
|
1fadaa60f2
|
Add mutability compatibility check to borrows
|
2025-07-21 10:33:37 +03:00 |
|
|
74ce296a05
|
Refactor a bit
|
2025-07-21 10:29:26 +03:00 |
|
|
b9f6f2ba0f
|
Make param mutable based on type
|
2025-07-21 10:23:30 +03:00 |
|
|
60818842a5
|
Add borrow mutability
|
2025-07-21 10:21:25 +03:00 |
|
|
8da32c25c5
|
Make borrows work as function parameters as well
|
2025-07-21 10:07:56 +03:00 |
|
|
2e829bc8a9
|
Fix linker, add e2e tests
|
2025-07-21 09:59:35 +03:00 |
|
|
893eaaa865
|
Clean up and fix some warnings
|
2025-07-20 22:36:38 +03:00 |
|
|
550fec2827
|
Fix typeinference and checking for borrows/derefs
|
2025-07-20 22:33:00 +03:00 |
|
|
47fa5f342f
|
Nearly get typechecking working for deref/borrow
|
2025-07-20 22:15:16 +03:00 |
|
|
62d73b19a2
|
Improve error messages for typerefs a bit
|
2025-07-20 21:51:18 +03:00 |
|
|
c0e375d84c
|
Add typechecking for borrow/deref
|
2025-07-20 21:48:00 +03:00 |
|
|
cf30f79951
|
Add type inference for borrow/deref
|
2025-07-20 21:43:27 +03:00 |
|
|
26818cec96
|
Add AST->MIR for borrow/deref
|
2025-07-20 21:34:47 +03:00 |
|
|
d7661cb968
|
Add metadata location to function calls
|
2025-07-20 21:08:15 +03:00 |
|
|
848f4118bf
|
Fix params not being pointers
|
2025-07-20 20:13:47 +03:00 |
|
|
a62f9db422
|
Get static arrays actually working alone
|
2025-07-20 19:23:42 +03:00 |
|
|
b185e2ecc6
|
Import typedefs from other modules as well
|
2025-07-20 15:55:47 +03:00 |
|
|
575abe8172
|
Make passes actually return errors well
|
2025-07-20 15:25:21 +03:00 |
|
|
e4845c4084
|
Get structs in arrays working, but no luck with arrays in structs
|
2025-07-20 14:21:37 +03:00 |
|
|
c0b02f8a45
|
Clean up some prints
|
2025-07-20 05:04:12 +03:00 |
|
|
5f65d3438a
|
Get arrays to work in DI, huzzah
|
2025-07-19 22:08:23 +03:00 |
|
|
c1cc1d28de
|
Implement array and struct debug info
|
2025-07-19 20:51:06 +03:00 |
|
|
a511331be2
|
Fix type-inferrer on arrays
|
2025-07-19 19:23:24 +03:00 |
|
|
f9f9360efc
|
Update error text
|
2025-07-19 19:03:31 +03:00 |
|
|
1ad89de682
|
Add better coverage for debug types
|
2025-07-19 14:33:27 +03:00 |
|
|
92f12e90eb
|
Make debug information work
|
2025-07-18 19:38:01 +03:00 |
|
|
b169e67ca4
|
Add debug locations to returns
|
2025-07-18 18:36:04 +03:00 |
|
|
1967cadbc0
|
Get debug info working very preliminarily
|
2025-07-18 17:26:11 +03:00 |
|
|
990d8cb448
|
Fix around in debug information generation, fix subprogram not being set
|
2025-07-18 16:59:05 +03:00 |
|
|
0c6d9885ec
|
Add debug information compilation for subprograms and their parameters
|
2025-07-18 15:44:12 +03:00 |
|
|
9bb4f97e6b
|
Start adding debug information
|
2025-07-18 00:07:11 +03:00 |
|
|
292688a840
|
Fix some warnings
|
2025-07-17 20:26:01 +03:00 |
|
|
9d1b18f083
|
Add FullToken array to error raporting
|
2025-07-17 17:44:18 +03:00 |
|