Commit graph

26 commits

Author SHA1 Message Date
Janis bbaa9cb671 update to edition 2024 and 1.90-nightly 2025-07-14 17:52:03 +02:00
Janis 1bde8f3ccd new trait for ast for getting nice nodes 2025-03-06 22:36:53 +01:00
Janis d6450b5f32 using the new visitor for debug rendering 2025-03-06 12:41:39 +01:00
Janis 1a20acd763 ast visiting for IR building 2025-03-04 18:58:55 +01:00
Janis 379769bc59 split ast tag arrays 2025-03-01 19:22:31 +01:00
Janis d9e6d99286 bit-length helper for integers and byte slices 2024-12-23 00:55:19 +01:00
Janis a3bee90ac3 mir/triples use internpool now for types 2024-12-22 22:25:01 +01:00
Janis 96863e0397 cargo fmt 2024-12-22 19:01:22 +01:00
Janis 888517f2ea soooo many thigns in need to commit more often
also, types exist in the ast, but are interned after parsing
refs and typerefs are resolved
true and false in the intern pool, need to add them to primaryexpr
structs in the internpool take a decl to differentiate struct types of the same
name
field access postfix expr? also nesting postfix expr (e.g. var[1][2])
arrays can only be specified with integral constants as length

fixes:
sinttype and uinttype store bits inline in item.index correctly
mut/var decl assignment? have correct doc strings
let/var symbol is inserted after the assignment expr, so that the expr can still
use
now-shadowed variables
structs can have fields of type pointer-to-self (ast)
lots of wrong-cases in node children getting
2024-09-15 00:38:50 +02:00
Janis 5c38969ef8 cooooool stuff for the new ast generator and intern pool and symbol table
basically, btrees are awesome.
2024-09-13 19:07:42 +02:00
Janis 45653380cf new ast parser 2024-09-09 15:01:53 +02:00
Janis 44fa241a79 new ast module 2024-09-03 22:58:46 +02:00
Janis 568c3b2fa4 calling functions 2024-09-02 16:03:12 +02:00
Janis 42a3be8186 bigint math 2024-08-27 00:54:55 +02:00
Janis 16399192b3 mir register allcoator 2024-08-26 13:47:44 +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 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 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 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