-
c83d53ae53
Add struct type and expression parsing
sofia
2025-07-15 21:19:37 +0300
-
5fca72a3f9
Add lexing support for structs
sofia
2025-07-15 20:37:41 +0300
-
0ec427252f
Add some support for custom struct types in lib
sofia
2025-07-15 20:28:59 +0300
-
1acaa29a12
Fix module scopes being linked
sofia
2025-07-15 20:09:33 +0300
-
6788ef1690
Use AvailableExternally-linkage for externs for imports
sofia
2025-07-15 20:01:46 +0300
-
6f8c02ac04
Add compilation time to cli
sofia
2025-07-15 19:43:23 +0300
-
dc9450f64a
Fix libtest.sh
sofia
2025-07-15 19:35:46 +0300
-
19c883ea33
Add e2e tests
sofia
2025-07-15 02:55:26 +0300
-
824978de49
Remove array binary
sofia
2025-07-15 01:20:44 +0300
-
28d632d51c
Add Makefile by @neon, fix array typechecking during typeinference
sofia
2025-07-15 01:16:21 +0300
-
bcad9b57fe
Make the compiler produce .o/.asm/.ll according to input file name
sofia
2025-07-15 00:25:17 +0300
-
5b5ec48b8d
Put all debug prints behind debug-assertions
sofia
2025-07-14 23:43:03 +0300
-
0e5f12e0e2
Update README
sofia
2025-07-14 22:57:33 +0300
-
587aa1d7f2
Fix warnings
sofia
2025-07-14 22:56:31 +0300
-
1e759d49c7
Fix issue in type-inference pass about function params not registering
sofia
2025-07-14 22:55:43 +0300
-
5acd1624fd
Move test to inside-executable, and add tests that test it compiles
sofia
2025-07-14 22:52:30 +0300
-
3f90b46dc8
Include stdlib in executable
sofia
2025-07-14 22:33:04 +0300
-
fa4df50a04
Fix linking so that non-imported functions don't bother main-module
sofia
2025-07-14 22:22:55 +0300
-
2b47c4efc7
Make linking modules together work, fix printing modules
sofia
2025-07-14 21:10:13 +0300
-
848347e4a8
Add importer pass, make importer import module properly
sofia
2025-07-14 20:33:02 +0300
-
a71843dfe9
Implement import-pass
sofia
2025-07-14 20:13:30 +0300
-
464156b2dc
Fix imports in MIR
sofia
2025-07-14 19:20:38 +0300
-
3d5ddc60dc
Fix void function calls not discarding name
sofia
2025-07-14 19:16:52 +0300
-
b82cbcb45c
Fix function call not faulting on undefined function
sofia
2025-07-14 19:02:21 +0300
-
7a2a965cd7
Fix functions being in their own scopes
sofia
2025-07-14 18:49:51 +0300
-
735c4370aa
Add pub keyword
sofia
2025-07-14 18:47:02 +0300
-
067c84e93e
Implement external function linkage in lib
sofia
2025-07-14 18:29:45 +0300
-
4eaa365674
Add function flags and codegen extern functions
sofia
2025-07-14 18:26:57 +0300
-
376baa2c9a
Remove length param from string, use string pointers instead
sofia
2025-07-14 18:22:05 +0300
-
1173e17fe6
Update TODO-list
sofia
2025-07-14 17:57:34 +0300
-
83475b144c
Codegen strings
sofia
2025-07-14 17:52:47 +0300
-
73a3b15fb6
Add AST -> MIR for strings
sofia
2025-07-14 17:45:36 +0300
-
b9dfa9b1ce
Add parsing of string literals
sofia
2025-07-14 17:39:48 +0300
-
d5b0e3ebf7
Add lexing of strings
sofia
2025-07-14 17:38:05 +0300
-
e15f77d9de
Update libtest and make examples/cli.rs
sofia
2025-07-14 17:24:44 +0300
-
bc1cc99bcc
Update examples
sofia
2025-07-14 17:19:10 +0300
-
b64cdc4c71
Fix if-statement block return type evaluation
sofia
2025-07-14 17:17:48 +0300
-
bad4713779
Fix index out of bounds off-by-one error
sofia
2025-07-14 02:29:54 +0300
-
c2a087785e
Update README and lib docs
sofia
2025-07-14 02:28:01 +0300
-
1b9f3dbca0
Fix warnings
sofia
2025-07-14 02:26:55 +0300
-
86eab29173
Make nested arrays work
sofia
2025-07-14 01:20:50 +0300
-
5d06ecb874
Add broken support for nested arrays
sofia
2025-07-14 00:05:05 +0300
-
d2587df4c9
Add mutability to arrays
sofia
2025-07-13 23:58:56 +0300
-
d99c450e61
Fix some warnings
sofia
2025-07-13 23:14:51 +0300
-
cbb1be1161
Implement GEP instead of the weird thing before
sofia
2025-07-13 23:14:16 +0300
-
312a777203
Get arrays to compile while still not supporting mutability for a bit
sofia
2025-07-13 22:04:49 +0300
-
d62d6e2845
Actually finish array-support for lib
sofia
2025-07-13 20:56:24 +0300
-
a2e52e0bd2
Add Array support to llvm-lib
sofia
2025-07-13 20:31:33 +0300
-
515c031f19
Finish type checking and inferrence for arrays
sofia
2025-07-13 20:15:03 +0300
-
b14a62bc34
Add typechecking for arrays
sofia
2025-07-13 19:39:43 +0300
-
4f8153643b
Perform type inference for array and indexing expressions
sofia
2025-07-13 19:26:20 +0300
-
64f07002b4
Update how array is displayed when printed
sofia
2025-07-13 19:07:31 +0300
-
a18a5b4199
Continue progress, make set-statements as todos for later
sofia
2025-07-13 19:00:46 +0300
-
10cf9341c5
Add return type for index and array expressions
sofia
2025-07-13 18:41:14 +0300
-
ad20fefabc
Add Array Expression to MIR
sofia
2025-07-13 18:37:18 +0300
-
587ab8afd5
Make mir array implementation halfway, compiling but not working yet
sofia
2025-07-13 18:32:27 +0300
-
bf8baa7cd4
Add parsing for setting indexed values
sofia
2025-07-13 18:02:27 +0300
-
df6b5ef34b
Add array indexing
sofia
2025-07-13 17:46:34 +0300
-
8f95d445c0
Add array expression parsing
sofia
2025-07-13 17:41:57 +0300
-
887071eeb6
Add parsing of array type
sofia
2025-07-13 17:33:38 +0300
-
4e8228f903
Move binop type resolution to common implementation
sofia
2025-07-13 17:05:23 +0300
-
a8ed7577a8
Move type checking properly to the typecheck-stage
sofia
2025-07-13 16:31:35 +0300
-
92736e392e
Refactor Type Hints -> Type Refs
sofia
2025-07-13 15:58:19 +0300
-
f3f47831e9
Split type inference to it's very own pass
sofia
2025-07-13 15:55:14 +0300
-
7d77e1df32
rename ScopeHint to TypeHint
sofia
2025-07-13 15:27:28 +0300
-
0d631bfa89
Remove redundant TypeRef, add other optimizations
sofia
2025-07-13 15:26:36 +0300
-
29e78cf1aa
update errors
sofia
2025-07-13 13:58:12 +0300
-
e79a0fe458
Update where default value is calculated, fix load type
sofia
2025-07-12 23:59:16 +0300
-
edb2784f4a
Remove unused while-loop
sofia
2025-07-12 23:40:49 +0300
-
51c341450b
Fix warnings
sofia
2025-07-12 23:37:24 +0300
-
557d5f9722
Finish second phase of typechecking, resolve hinted values
sofia
2025-07-12 23:35:35 +0300
-
61ab5002e4
Split typechecking into two passes, finish first pass
sofia
2025-07-12 22:59:23 +0300
-
873948a0c4
Move scopehints to own file
sofia
2025-07-12 18:40:26 +0300
-
be7fa71b53
Add ScopeHints tentatively
sofia
2025-07-12 15:32:29 +0300
-
04e0c136df
Fix warnings
sofia
2025-07-12 14:42:05 +0300
-
0f424c70d7
Implement mutability part 2
sofia
2025-07-12 14:37:10 +0300
-
14e0dcbe15
(broken) add part 1 of mutability
sofia
2025-07-12 02:38:31 +0300
-
85b2ebf04a
Add mutability parsing
sofia
2025-07-11 21:32:20 +0300
-
615fec6e52
Add TODO, remove TODOs
sofia
2025-07-09 22:44:33 +0300
-
d04a70e464
Remove unused variable
sofia
2025-07-09 22:33:56 +0300
-
383302c1c2
Fix old fibonacci not working due to last change
sofia
2025-07-09 22:32:47 +0300
-
b19a32cd8a
Make early returns work even without an explicit return
sofia
2025-07-09 22:20:08 +0300
-
1aa9b3e76c
Add RetVoid just in case
sofia
2025-07-09 22:01:32 +0300
-
94c4ec0613
Add a block garbage-collector that will delete an unused block at end
sofia
2025-07-09 21:57:48 +0300
-
d757ac4eb3
Fiddle around with if-expression codegen
sofia
2025-07-09 21:12:39 +0300
-
c50474cc8e
Update README.md
sofia
2025-07-09 20:27:12 +0300
-
50f5f3cc70
Update lib.rs docs
sofia
2025-07-09 20:16:52 +0300
-
f7fa69fbe2
Add docs to lib.rs
sofia
2025-07-09 20:13:16 +0300
-
a907fec967
Fix module docs
sofia
2025-07-09 20:07:30 +0300
-
9710d17e00
Add a bunch of documentation
sofia
2025-07-09 20:01:24 +0300
-
257496aae2
Rename LogicOperator to CmpOperator
sofia
2025-07-09 19:24:07 +0300
-
197f0b22f3
Add boolean literals
sofia
2025-07-09 19:17:03 +0300
-
b84672ef8c
Add Mult and And -operators to the whole chain
sofia
2025-07-09 19:08:21 +0300
-
8afb2c2572
Fix bug in Logic Operator conversion
sofia
2025-07-09 19:00:03 +0300
-
974647b401
Fix FullToken positions
sofia
2025-07-09 18:54:51 +0300
-
d5daaa0e87
Improve Debug and Display implementations
sofia
2025-07-09 18:42:08 +0300
-
49df6c9ed9
Add a bunch of new integer comparison operators
sofia
2025-07-09 16:05:08 +0300
-
46560d8541
Add all types u8 -> i128 and fix signedness in icmp
sofia
2025-07-08 23:47:44 +0300
-
14283afe59
Separate pass-common code to pass.rs
sofia
2025-07-08 21:44:04 +0300
-
2e99ec3a80
Fix warnings
sofia
2025-07-08 18:47:46 +0300