Commit graph

25 commits

Author SHA1 Message Date
d363be0eef Replace some usages of ostringstream with std::format 2026-03-22 12:51:38 +03:00
c8cd86dd0b Add foreign functions (stub in interpreter, implemented in aarch64 compiler) 2026-03-13 11:01:53 +03:00
927368aa80 Add short-circuiting versions of and/or (&& and ||) and implement them for bools and integers in interpreter and aarch64 compiler 2026-03-12 21:37:15 +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
97fb066e38 Only construct zero value of built-in type if the argument count is zero 2025-12-23 12:17:18 +03:00
c3c208b6a3 Rename numeric_literal -> primitive_literal 2025-12-22 23:49:08 +03:00
5419f87a56 Support zero-initialization of built-in types and structs 2025-12-20 16:09:25 +03:00
d37c5b8754 Support zero (default) initialization for struct types 2025-12-20 15:18:48 +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
d64b6db229 Remove interpreter <- parser dependency 2025-12-18 17:13:00 +03:00
9826961c76 Fix unhandled cases of casting to array & function types 2025-12-18 17:03:59 +03:00
af815e215a Add support for function values & calling non-identifier functions 2025-12-18 16:14:51 +03:00
61f1a9c079 Add support for function types 2025-12-18 15:37:38 +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
ddf6d55c54 Make sure structs with same name but in different scopes are regarded as different types 2025-12-17 23:12:54 +03:00
04ee8e28e6 Add structures 2025-12-17 22:57:10 +03:00
fb4877c2ed Impement array element assignment 2025-12-17 16:07:39 +03:00
ff4d0a9c3e Rename 'interpreter.hpp' -> 'exec.hpp' 2025-12-17 15:53:24 +03:00
435aa61fe4 Implement array types & array values 2025-12-17 15:46:51 +03:00
41d3bb0f3d Implement functions in parser & interpreter 2025-12-16 19:19:46 +03:00
4b3f87718d Check for division by zero in interpreter 2025-12-16 15:07:29 +03:00
9d7f81d7fc Initial commit: wip spec, ast definition, parser & interpreter 2025-12-16 14:01:50 +03:00