Commit graph

18 commits

Author SHA1 Message Date
8ba5345daf Implement ternary ifs 2026-04-02 20:19:55 +03:00
06d509bcab Add break & continue statements 2026-04-02 17:10:42 +03:00
ac6eacd80b Add a hacky implememntation of global constants 2026-03-30 20:02:41 +03:00
42e7f7961e New IR -> Aarch64 compiler wip: basic operations done (no pointers, structs, arrays) 2026-03-25 00:22:50 +03:00
0c11b09548 Pointers wip 2026-03-23 14:41:47 +03:00
5d00f1ddb7 Refactor AST: store direct references to AST nodes in indentifiers 2026-03-22 20:02:40 +03:00
292d6eeabf Refactor: split pre-AST (contains if/else if/else blocks, field definitions, no hierarchy) and the actual AST obtained after resolving scoping & indentation (contains if chains, no field definitions) 2026-03-22 14:06:34 +03:00
0d6b491fd4 Fix resolving top scope variables in resolve_identifiers (were considered global, but not anymore) 2026-03-15 16:34:14 +03:00
c8cd86dd0b Add foreign functions (stub in interpreter, implemented in aarch64 compiler) 2026-03-13 11:01:53 +03:00
7a3c7cca5d Support mutually recursive functions in identifier resolution & type checker 2026-01-16 15:25:44 +03:00
dea5c18cfd Explicitly mark constructor AST nodes 2025-12-23 13:43:54 +03:00
5419f87a56 Support zero-initialization of built-in types and structs 2025-12-20 16:09:25 +03:00
d33b00e368 Refactor tree visitors (again) 2025-12-20 15:52:59 +03:00
8c07e1950b Simplify tree visitors 2025-12-20 13:20:44 +03:00
aee506d102 Rewrite identifier resolution using visitors 2025-12-20 13:05:51 +03:00
6276d97c6b Add type identifier source locations 2025-12-20 01:10:56 +03:00
4175a86ae3 Rename libs/type -> libs/types, separate computed type tree from the AST type tree 2025-12-20 00:03:23 +03:00
437123f6f4 Add scope levels to identifier AST nodes & implement identifier resolution 2025-12-19 17:42:40 +03:00