-
aeab786fe3
todo: typechecking, then ensure placeness and IR still work as expected
bottom-up-value-place
Janis
2025-03-08 12:22:53 +0100
-
4c7813aa98
aaaaaaaaaaaaaaaa
Janis
2025-03-06 23:46:45 +0100
-
1bde8f3ccd
new trait for ast for getting nice nodes
Janis
2025-03-06 22:36:53 +0100
-
486a634ea1
more fixes
Janis
2025-03-06 18:40:17 +0100
-
8b3789d7b0
placeness solver on ast after parsing
Janis
2025-03-06 15:41:34 +0100
-
d6450b5f32
using the new visitor for debug rendering
Janis
2025-03-06 12:41:39 +0100
-
f30b7827b8
pulled out modules into separate files
Janis
2025-03-06 02:28:02 +0100
-
6cc1822ec6
trying to fix declrefs to params being places
Janis
2025-03-06 02:18:46 +0100
-
8c95a2ba3d
single-threaded interior mutably wrapper for internpool
Janis
2025-03-06 02:18:15 +0100
-
f5fc8195f4
fix, lint
Janis
2025-03-06 01:12:25 +0100
-
1be3f29e23
place-value stuff should work now
Janis
2025-03-06 01:02:35 +0100
-
6d70231c91
this should be correct?
Janis
2025-03-05 22:21:36 +0100
-
51aa119af2
i dont think this is the right way to do this, in hindsight
Janis
2025-03-05 15:49:19 +0100
-
028c74753e
place and value expression conversion in ast
Janis
2025-03-05 15:48:46 +0100
-
1a20acd763
ast visiting for IR building
Janis
2025-03-04 18:58:55 +0100
-
379769bc59
split ast tag arrays
main
Janis
2025-03-01 19:22:31 +0100
-
43c828d96f
irgen of ast2
Janis
2024-12-29 19:57:29 +0100
-
f6b956deee
normalising BlockTrailingExpr where it returns into Block with a Ret expr
Janis
2024-12-27 03:49:50 +0100
-
e002a6ddc9
small fixes/visiter pattern/pub visibility
Janis
2024-12-27 03:49:25 +0100
-
1b5cc3302b
rename ast_visitor module to visitor
Janis
2024-12-26 01:03:30 +0100
-
f6fc83ce02
using visitor for rendering ast
Janis
2024-12-26 01:02:40 +0100
-
4e59e02178
visitor pattern for ast
Janis
2024-12-26 00:40:11 +0100
-
13df06421c
intern struct type the first time it is defined
Janis
2024-12-25 20:37:35 +0100
-
1bd6c43341
iterate over multiple files and compile&execute in test.sh
Janis
2024-12-23 03:40:30 +0100
-
d743292710
compile help script
Janis
2024-12-23 03:08:13 +0100
-
7c01afbf2f
TOO MUCH!!!! InternPool use everywhere in old ast
Janis
2024-12-23 02:34:02 +0100
-
7801fefa17
mir function type and using internpool
Janis
2024-12-23 02:33:43 +0100
-
3be955aebf
internpool helpers/ fixes
Janis
2024-12-23 02:32:43 +0100
-
d9e6d99286
bit-length helper for integers and byte slices
Janis
2024-12-23 00:55:19 +0100
-
6ba146f565
intern/key display printing
Janis
2024-12-23 00:54:19 +0100
-
632729af52
InternPool bytes
Janis
2024-12-22 23:52:39 +0100
-
a3bee90ac3
mir/triples use internpool now for types
Janis
2024-12-22 22:25:01 +0100
-
0994f4b187
fix comptime eval
Janis
2024-12-22 19:12:15 +0100
-
96863e0397
cargo fmt
Janis
2024-12-22 19:01:22 +0100
-
30ce12988d
insert symbol on functiondecl
Janis
2024-12-22 19:00:29 +0100
-
7cea2452d1
from none doesn't need data to be passed
Janis
2024-12-22 18:58:20 +0100
-
1df5429eab
extracting ast2::intern into its own file
Janis
2024-12-22 18:57:19 +0100
-
6494e827fb
nightly fixes 22.12.24
Janis
2024-12-22 18:21:23 +0100
-
006e982cde
untracked files and changes
Janis
2024-10-17 15:20:16 +0200
-
cbbbb7989a
array types can now use an expression to define the array size
Janis
2024-09-16 17:18:23 +0200
-
4f70fa2246
comptime folding,
Janis
2024-09-16 16:55:04 +0200
-
3d014ad985
casting of comptimenumbers into other comptime numbers
Janis
2024-09-16 16:53:58 +0200
-
4e27002fb9
void comptimenumber type for easier erroring on non-value ast nodes
Janis
2024-09-16 16:53:30 +0200
-
464baa7bd7
creating graph for comptime folding dependencies
Janis
2024-09-16 01:04:52 +0200
-
5ad0e9e8e7
calculate which nodes are comptime evaluable
Janis
2024-09-16 00:15:39 +0200
-
888517f2ea
soooo many thigns in need to commit more often
Janis
2024-09-15 00:38:50 +0200
-
a565c1e1e9
parsing struct definitions in ast
Janis
2024-09-14 13:09:17 +0200
-
de22a9e01a
helper function for parsing text within () or {}
Janis
2024-09-13 22:47:04 +0200
-
4432cf198e
better debug impls for types, fix for simpletype key
Janis
2024-09-13 19:36:13 +0200
-
5c38969ef8
cooooool stuff for the new ast generator and intern pool and symbol table
Janis
2024-09-13 19:07:42 +0200
-
6f3a7dc56c
helpers for reading ast
Data
and getting children of ast nodes
Janis
2024-09-09 15:41:56 +0200
-
45653380cf
new ast parser
Janis
2024-09-09 15:01:53 +0200
-
44fa241a79
new ast module
Janis
2024-09-03 22:58:46 +0200
-
07c98d55a0
remove old code
Janis
2024-09-02 16:47:31 +0200
-
568c3b2fa4
calling functions
Janis
2024-09-02 16:03:12 +0200
-
4424ef875d
global symbols
Janis
2024-09-02 12:59:17 +0200
-
4b432f404b
branching? yay?
Janis
2024-09-01 21:31:09 +0200
-
b0f52da586
phi node
Janis
2024-09-01 14:28:48 +0200
-
dd6ce88ad6
if-else branches in IR
Janis
2024-09-01 12:28:47 +0200
-
6bab60d168
if-else ast
Janis
2024-08-30 23:55:13 +0200
-
ad6a9b00ec
fix warnings
Janis
2024-08-30 23:55:01 +0200
-
9194e35851
remove comments from asm
Janis
2024-08-30 21:55:16 +0200
-
48bbcdec5e
boolean arithmetic
Janis
2024-08-30 19:31:44 +0200
-
cbc416dcaa
no longer wrong!
Janis
2024-08-30 18:13:28 +0200
-
e9335d3fc5
something is wrong, but typechecking
Janis
2024-08-30 17:34:26 +0200
-
70644ede3e
fixes, rewrote liveness gen a bit
Janis
2024-08-30 16:22:53 +0200
-
9f0e2c4a31
mir to asm translation WORKS!!
Janis
2024-08-29 21:34:05 +0200
-
3aee606ca2
mir.rs changes for last commit's triples.rs changes
Janis
2024-08-29 01:50:58 +0200
-
9d85eb1428
inline loading of values into registers into mir.rs
Janis
2024-08-29 01:50:08 +0200
-
9b484ce175
bitflag dependency
Janis
2024-08-29 01:48:11 +0200
-
2d8c75ba0d
comptime folding changes/fixes for declrefs
Janis
2024-08-27 21:52:36 +0200
-
62cf214bde
comptime folding can now deal with declrefs
Janis
2024-08-27 21:08:37 +0200
-
d4918a722f
warnings chore
Janis
2024-08-27 18:49:50 +0200
-
270162850d
comptime folding works!!!!!
Janis
2024-08-27 18:49:28 +0200
-
18e29f1fa1
folding comptime math
Janis
2024-08-27 17:22:47 +0200
-
a64658995a
comptime math
Janis
2024-08-27 16:21:39 +0200
-
42a3be8186
bigint math
Janis
2024-08-27 00:54:55 +0200
-
99bf630546
amd64 abstraction which was required like 10 commits ago
Janis
2024-08-26 15:59:34 +0200
-
eba0edb9e4
refactor/cleanup of mir generation for arithmetic ops and preloading of constant lhs
Janis
2024-08-26 15:58:51 +0200
-
06b1ec1763
register allocator refactor
Janis
2024-08-26 15:58:01 +0200
-
16399192b3
mir register allcoator
Janis
2024-08-26 13:47:44 +0200
-
c13ed77ddf
intel syntax because at&t just sucks so much to read idek how
Janis
2024-08-25 16:04:37 +0200
-
010e6d2bec
LANGUAGE CHANGES
Janis
2024-08-25 03:09:54 +0200
-
c8d51e8bcf
reserve rax for scratch
Janis
2024-08-19 16:28:58 +0200
-
f7ec585057
goodness gracious it can do integer addition and pointer dereferencing!!!!
Janis
2024-08-18 19:59:13 +0200
-
00359a306c
stufffffffffff
Janis
2024-08-18 14:52:24 +0200
-
ddd65e8c4d
has string_table now :^)
Janis
2024-08-16 22:38:13 +0200
-
5c57dfb904
trying to refactor a bit:
Janis
2024-08-16 16:56:11 +0200
-
2689179ed4
changed globaldecl to only allow const instead of let or var as keyword
Janis
2024-08-14 17:55:03 +0200
-
efff2446bc
not entirely sure why yet, but made SymbolTable a tree of pointers
Janis
2024-08-14 17:03:10 +0200
-
3bb4ba79bc
move symboltable into parser and tree, away from triples gen
Janis
2024-08-14 14:57:23 +0200
-
66d08dadcc
remove lints
Janis
2024-08-13 18:55:36 +0200
-
fe25d226d1
integrated SymbolTable into AST/Parser
Janis
2024-08-13 18:49:22 +0200
-
c3157b1355
not really sure, i guess this is an IR?
Janis
2024-08-13 00:00:19 +0200
-
02be9bdc26
simple lexing error reporting
Janis
2024-08-09 18:58:26 +0200
-
69e67c882d
can generate naive ast and render
Janis
2024-08-08 19:14:14 +0200
-
b7105c1235
working on parsing ast
Janis
2024-08-07 00:35:10 +0200
-
e8934b8ccc
initial commit
Janis
2024-08-06 20:57:19 +0200