Commit graph

20 commits

Author SHA1 Message Date
Janis eba0edb9e4 refactor/cleanup of mir generation for arithmetic ops and preloading of constant lhs 2024-08-26 15:58:51 +02:00
Janis 06b1ec1763 register allocator refactor 2024-08-26 15:58:01 +02:00
Janis 16399192b3 mir register allcoator 2024-08-26 13:47:44 +02:00
Janis c13ed77ddf intel syntax because at&t just sucks so much to read idek how 2024-08-25 16:04:37 +02:00
Janis 010e6d2bec LANGUAGE CHANGES
prefix binds tighter than as-expr, because &a as *u32 should be valid syntax
i think it can actually do pointer arithmetic somewhat validly now?
2024-08-25 03:09:54 +02:00
Janis c8d51e8bcf reserve rax for scratch 2024-08-19 16:28:58 +02:00
Janis f7ec585057 goodness gracious it can do integer addition and pointer dereferencing!!!! 2024-08-18 19:59:13 +02:00
Janis 00359a306c stufffffffffff 2024-08-18 14:52:24 +02:00
Janis ddd65e8c4d has string_table now :^) 2024-08-16 22:38:13 +02:00
Janis 5c57dfb904 trying to refactor a bit:
- working on a string/bytes table
- no longer directly referencing ir outside of current function; the goal here
is to end up only generating ir for 1 function, then link together in assembling
step. this involves adding an GlobalRef() ast-node and ExternRef() ir instruction
2024-08-16 16:56:11 +02:00
Janis 2689179ed4 changed globaldecl to only allow const instead of let or var as keyword 2024-08-14 17:55:03 +02:00
Janis efff2446bc not entirely sure why yet, but made SymbolTable a tree of pointers 2024-08-14 17:03:10 +02:00
Janis 3bb4ba79bc move symboltable into parser and tree, away from triples gen 2024-08-14 14:57:23 +02:00
Janis 66d08dadcc remove lints 2024-08-13 18:55:36 +02:00
Janis fe25d226d1 integrated SymbolTable into AST/Parser 2024-08-13 18:49:22 +02:00
Janis c3157b1355 not really sure, i guess this is an IR? 2024-08-13 00:00:19 +02:00
Janis 02be9bdc26 simple lexing error reporting 2024-08-09 18:58:26 +02:00
Janis 69e67c882d can generate naive ast and render 2024-08-08 19:14:14 +02:00
Janis b7105c1235 working on parsing ast 2024-08-07 00:35:10 +02:00
Janis e8934b8ccc initial commit 2024-08-06 20:58:09 +02:00