Commit graph

28 commits

Author SHA1 Message Date
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
c7e0232b15 Aarch64 JIT: check function pointer support 2026-01-19 15:14:13 +03:00
7a3c7cca5d Support mutually recursive functions in identifier resolution & type checker 2026-01-16 15:25:44 +03:00
1dc60011d7 Implement function calls 2026-01-06 22:10:22 +03:00
cb32ec3459 Refactor jit-compiling interface: introduce common global program context with shared code & symbol tables 2026-01-06 19:10:52 +03:00
668851f6bf Aarch64 jit compiler wip: fix loading/storing floating-point values 2026-01-06 12:45:12 +03:00
00d8f0fe52 Aarch64 jit compiler wip: implement integer & floating-point type conversions 2026-01-06 12:11:56 +03:00
12a4f64aed Aarch64 jit compiler wip: suppport floating-point variables 2026-01-05 10:46:53 +03:00
c9f4a9c19d Aarch64 jit compiler wip: suppport floating-point arguments 2026-01-05 10:29:46 +03:00
0d87d35c47 Aarch 64 jit compiler wip: floating-point support wip 2026-01-05 00:05:20 +03:00
f28138e5b9 Aarch64 jit compiler wip: implement branching and loops 2026-01-04 13:45:03 +03:00
7ed008543c Aarch64 compiler wip: support function arguments (integers only) 2026-01-04 12:27:46 +03:00
4df89de879 Aarch64 compiler wip: variables 2026-01-04 12:07:35 +03:00
d5065ec38e Aarch64 JIT-compiling wip: no-argument functions, arithmetic & logical operations, comparisons (integers only) 2026-01-03 22:38:43 +03:00
0ba3e4324d Interpreter clean-up (wip - identifier/function resolving is broken) 2025-12-29 14:42:25 +03:00
a36ba2610b Add inferred type to AST nodes & implement type checking & inference 2025-12-23 12:17:42 +03:00
a35add07db Refactor error types 2025-12-22 23:50:52 +03:00
26ab539d3c Preprocess tabs when printing error context 2025-12-20 12:52:23 +03:00
709c7a7a0a Introduce dedicated type tree & AST tree visitors and use them in pretty-printing 2025-12-20 01:06:54 +03:00
437123f6f4 Add scope levels to identifier AST nodes & implement identifier resolution 2025-12-19 17:42:40 +03:00
cad6c06607 Add JIT library & basic jit interface (not implemented yet) 2025-12-18 18:57:55 +03:00
d64b6db229 Remove interpreter <- parser dependency 2025-12-18 17:13:00 +03:00
6a3835951f Make sure parsed filenames live as long as the AST 2025-12-18 12:49:53 +03:00
6aaa58f518 Refactor interpreter: parse all files before executing them & improve error reporting 2025-12-18 11:44:28 +03:00
ff4d0a9c3e Rename 'interpreter.hpp' -> 'exec.hpp' 2025-12-17 15:53:24 +03:00
41d3bb0f3d Implement functions in parser & interpreter 2025-12-16 19:19:46 +03:00
ae3e2270c0 Add dedicated parse_error exception 2025-12-16 15:08:16 +03:00
9d7f81d7fc Initial commit: wip spec, ast definition, parser & interpreter 2025-12-16 14:01:50 +03:00