|
26818cec96
|
Add AST->MIR for borrow/deref
|
2025-07-20 21:34:47 +03:00 |
|
|
ba8ee770fb
|
Parse deref and borrow
|
2025-07-20 21:25:08 +03:00 |
|
|
d7661cb968
|
Add metadata location to function calls
|
2025-07-20 21:08:15 +03:00 |
|
|
33d5ee03f0
|
Improve LLVM IR SSA names
|
2025-07-20 20:50:32 +03:00 |
|
|
71a01dad69
|
Remove name from alloca
|
2025-07-20 20:24:26 +03:00 |
|
|
848f4118bf
|
Fix params not being pointers
|
2025-07-20 20:13:47 +03:00 |
|
|
158ddc58c8
|
Fix structs loading values prematurely
|
2025-07-20 20:00:34 +03:00 |
|
|
be76331a47
|
Get recursive structs and arrays working too
|
2025-07-20 19:59:03 +03:00 |
|
|
d631e80267
|
At crossroads
|
2025-07-20 19:54:43 +03:00 |
|
|
c723ba7b4a
|
Get inner arrays working
|
2025-07-20 19:30:34 +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 |
|
|
e8e2b4cebd
|
Implement parsing of multiple parameters
|
2025-07-20 15:32:56 +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 |
|
|
f952651a66
|
Get structs to work in debug information
|
2025-07-20 13:52:54 +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 |
|
|
98169af415
|
Add array and pointer-types to lib
|
2025-07-19 16:18:29 +03:00 |
|
|
d64cf750b1
|
Make codegen return StackValues instead of instructions
|
2025-07-19 15:46:34 +03:00 |
|
|
1ad89de682
|
Add better coverage for debug types
|
2025-07-19 14:33:27 +03:00 |
|
|
f2c38d42b9
|
Add variable debug declarations to all variables
|
2025-07-19 13:56:51 +03:00 |
|
|
59ce454f91
|
Store all variables in pointers
|
2025-07-19 13:54:54 +03:00 |
|
|
94fbd51d35
|
Commit out adding records for now
|
2025-07-19 13:29:05 +03:00 |
|
|
e12d0be08b
|
Start adding debug-records
|
2025-07-19 13:14:53 +03:00 |
|
|
7c8a123945
|
Add variables to debug info
|
2025-07-19 12:15:56 +03:00 |
|
|
e75c38ad85
|
Add debug information to everything (for now)
|
2025-07-19 00:41:29 +03:00 |
|
|
9749a29680
|
Upgrade to LLVM 20.1
|
2025-07-18 23:04:08 +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 |
|
|
287ab69d32
|
Remove old useless example
|
2025-07-18 17:01:10 +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 |
|
|
ce2278ce45
|
Fix using custom type-labels for e.g. return type
|
2025-07-17 20:20:07 +03:00 |
|
|
0f782dcb96
|
Fix parse error returning the token after the error
|
2025-07-17 20:16:37 +03:00 |
|
|
6dfd98eba3
|
Use true source for error formatting
|
2025-07-17 19:34:54 +03:00 |
|
|
df4febf1ef
|
Add formatting of the printed lines to errors
|
2025-07-17 18:58:05 +03:00 |
|
|
9d1b18f083
|
Add FullToken array to error raporting
|
2025-07-17 17:44:18 +03:00 |
|
|
ce7c4bfb52
|
Improve error raporting futher significantly
|
2025-07-17 17:15:57 +03:00 |
|
|
f0e47a5d57
|
Attempt to significantly improve error-raporting
|
2025-07-17 16:47:10 +03:00 |
|
|
64e34ecf13
|
Add module_id for modules and metadata
|
2025-07-17 14:56:41 +03:00 |
|
|
e2dc1a3f85
|
Fix some warnings
|
2025-07-17 14:31:40 +03:00 |
|
|
c07e488f48
|
Update state.load a bit to make a better default for it
|
2025-07-17 12:36:17 +03:00 |
|
|
8ffb3baa8d
|
Add Any-mutability for StackValues
|
2025-07-17 00:55:11 +03:00 |
|
|
8abee593f0
|
Fix value transfer in structs and arrays
|
2025-07-17 00:33:23 +03:00 |
|
|
9a4f0dc5d8
|
Allow for cloning inner values
|
2025-07-17 00:05:37 +03:00 |
|
|
965ad5797f
|
Implement rudamentary borrow
|
2025-07-16 23:49:28 +03:00 |
|
|
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 |
|
|
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 |
|
|
2a879b5ef4
|
Implement codegen for structs
|
2025-07-16 17:08:15 +03:00 |
|
|
d1a37058df
|
Fix warnings
|
2025-07-16 16:16:58 +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 |
|
|
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 |
|
|
19c883ea33
|
Add e2e tests
|
2025-07-15 02:55:26 +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 |
|
|
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 |
|
|
4eaa365674
|
Add function flags and codegen extern functions
|
2025-07-14 18:26:57 +03:00 |
|