Commit graph

45 commits

Author SHA1 Message Date
06d509bcab Add break & continue statements 2026-04-02 17:10:42 +03:00
20c84596df Add multi-threading in raytracer example 2026-04-01 23:43:58 +03:00
c83a5be119 Add raytracer example (wip) 2026-04-01 17:04:54 +03:00
e771542773 Implement array-types function arguments & return values in Aarch64 compiler 2026-03-29 22:52:48 +03:00
1404437324 IR & Aarch64 compiler arrays support wip 2026-03-29 19:37:49 +03:00
46c33b2acf Implement proper struct field assigment in IR compiler 2026-03-29 12:20:49 +03:00
041513f33e Support struct return values in aarch64 compiler 2026-03-27 20:25:16 +03:00
5d7968c30b Implement IR + Aarch64 pointers 2026-03-25 16:30:43 +03:00
42e7f7961e New IR -> Aarch64 compiler wip: basic operations done (no pointers, structs, arrays) 2026-03-25 00:22:50 +03:00
dd3eb5d14b Implement pointer support in IR via load/store instructions 2026-03-23 15:35:28 +03:00
0c11b09548 Pointers wip 2026-03-23 14:41:47 +03:00
7d5795d9bf Fix compilation to IR, in particular initializing a variable with a copy of another variable 2026-03-19 15:05:08 +03:00
25672d3f05 First common arch-independent IR prototype (no structs or arrays yet) 2026-03-18 18:35:47 +03:00
1a0dd2a48f Aarch64 JIT compiler wip: partial struct support 2026-03-17 18:08:23 +03:00
8c0b371fdb Implement computing struct layout (size, alignment, field offsets) in type checking 2026-03-15 20:12:01 +03:00
b25400ad65 Properly implement inner functions in aarch64 compiler & support module entry point 2026-03-15 14:16:33 +03:00
84f193befd Add mandelbrot example 2026-03-13 14:26:28 +03:00
51c78169b3 Validate functions with no return & automatically add return in the end of a function returning unit 2026-03-13 13:40:09 +03:00
788e98409a Implement remainder operator in aarch64 compiler 2026-03-13 11:24:43 +03:00
7f574eabbd Fix extending register after logical not in aarch64 compiler 2026-03-13 11:05:20 +03:00
c8cd86dd0b Add foreign functions (stub in interpreter, implemented in aarch64 compiler) 2026-03-13 11:01:53 +03:00
cb433d87bf Fix short-circuit || for small integer types 2026-03-12 23:13:42 +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
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
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
428283dbf8 Aarch64 jit compiler wip: floating-point comparisons 2026-01-05 10:23:33 +03:00
8f5744c3f4 Aarch64 jit compiler wip: floating-point arithmetic operators 2026-01-05 01:03:52 +03:00
c253041068 Aarch64 jit compiler wip: support f16 literals 2026-01-05 00:49:47 +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
db4a8ac264 Aarch64 compiler wip: replace csel with csetm for comparisons 2026-01-04 12:36:24 +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
049cf7335a Add single-line comments 2025-12-22 18:27:13 +03:00
6276d97c6b Add type identifier source locations 2025-12-20 01:10:56 +03:00
04ee8e28e6 Add structures 2025-12-17 22:57:10 +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