Commit graph

7 commits

Author SHA1 Message Date
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 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 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 fe25d226d1 integrated SymbolTable into AST/Parser 2024-08-13 18:49:22 +02:00