Commit graph

29 commits

Author SHA1 Message Date
45004ce812 Fix inferring type of a != expression node 2026-01-05 10:23:13 +03:00
7ddc8ba25d Add f16 type & literals support in parser, type checker & interpreter 2026-01-05 00:36:11 +03:00
0ba3e4324d Interpreter clean-up (wip - identifier/function resolving is broken) 2025-12-29 14:42:25 +03:00
dea5c18cfd Explicitly mark constructor AST nodes 2025-12-23 13:43:54 +03:00
46a1031a08 Move return_statement to function.hpp 2025-12-23 12:18:22 +03:00
a36ba2610b Add inferred type to AST nodes & implement type checking & inference 2025-12-23 12:17:42 +03:00
7bca803136 Add scope level to return statement 2025-12-23 12:16:49 +03:00
a35add07db Refactor error types 2025-12-22 23:50:52 +03:00
c3c208b6a3 Rename numeric_literal -> primitive_literal 2025-12-22 23:49:08 +03:00
35435ac626 Rewrite get_location(statement/expression) using visitors 2025-12-22 18:52:57 +03:00
b5f46e77b6 Make tree visitors more type-safe by preventing implicit casts 2025-12-22 18:52:28 +03:00
438620db2f Remove unused expression type 2025-12-22 18:34: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
709c7a7a0a Introduce dedicated type tree & AST tree visitors and use them in pretty-printing 2025-12-20 01:06:54 +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
53d4e12a09 Functions can be any expressions and not just identifiers in function calls (AST only, not implemented in interpreter yet) 2025-12-18 14:37:06 +03:00
16680ad801 Add source location to all AST nodes 2025-12-18 13:07:42 +03:00
39de1cd73c Switch to a custom source location type 2025-12-18 01:11:45 +03:00
04ee8e28e6 Add structures 2025-12-17 22:57:10 +03:00
d4a4d4dbef Refactor printing AST 2025-12-17 15:51:38 +03:00
435aa61fe4 Implement array types & array values 2025-12-17 15:46:51 +03:00
bc7d24ad62 Support return statement with no expression 2025-12-17 14:22:20 +03:00
41d3bb0f3d Implement functions in parser & interpreter 2025-12-16 19:19:46 +03:00
9d7f81d7fc Initial commit: wip spec, ast definition, parser & interpreter 2025-12-16 14:01:50 +03:00