34 Commits

Author SHA1 Message Date
c26c723eea Fetch proc before evaluating arguments 2025-08-10 21:37:13 +01:00
068692e163 Push proc only once in procedure application 2025-08-10 21:36:00 +01:00
167e91d816 Add call AM operation 2025-08-10 21:33:25 +01:00
426d270318 Create car, cdr and assign AM operations 2025-08-10 21:15:36 +01:00
eaef6f3cd3 Add register parameters to AM append operation 2025-08-10 20:51:08 +01:00
76efcef953 Add register parameter to AM stack operations 2025-08-10 20:51:06 +01:00
57c39fd00b Make AM registers into an array 2025-08-10 20:31:54 +01:00
52a42d2937 Add integration tests for nested arithmetic 2025-08-10 19:55:19 +01:00
ba0a543a4c Handle negative numbers in print 2025-08-10 19:54:58 +01:00
662b99a40f Handle argument evaluation 2025-08-10 19:54:21 +01:00
624311d04f Add am_append_arg procedure 2025-08-10 19:44:05 +01:00
6077cf571d Create demo application 2025-08-10 17:27:23 +01:00
9df53c63c5 Create REPL module 2025-08-10 17:26:46 +01:00
5c585ad35c Add integration tests 2025-08-10 17:26:32 +01:00
e25975e29d Create read module 2025-08-10 17:26:32 +01:00
d90f91cda0 Create print module 2025-08-10 17:26:32 +01:00
d5173243ba Implement primitive procedure application evaluation 2025-08-10 16:34:11 +01:00
d8e51b0aa0 Add store into abstract machine struct 2025-08-10 15:24:18 +01:00
b20a6749f7 Implement +, * and - primitives 2025-08-10 15:08:34 +01:00
472a682757 Add primitive procedures to expression type 2025-08-10 14:41:37 +01:00
3f871d2b43 Implement atom evaluation 2025-08-10 13:58:36 +01:00
03bd0ff597 Consolidate expression creation functions in expr module 2025-08-10 13:48:59 +01:00
fade9395fa Create environment module 2025-08-10 02:05:16 +01:00
a03ef58eca Implement parsing 2025-08-10 02:03:42 +01:00
f97cea9290 Add minimal abstract machine module 2025-08-10 02:03:42 +01:00
e50fd10f9b Disable memset/memcpy messages from Clang-Tidy 2025-08-09 19:35:05 +01:00
f41d3a949c Create simple, bump allocator store 2025-08-09 19:35:05 +01:00
23bbbea755 Define expression data type 2025-08-09 19:34:50 +01:00
00d1961d36 Add scripts for checking formatting, linting etc 2025-08-09 19:34:50 +01:00
3e8a9d6789 Implement tokenisation 2025-08-09 15:33:52 +01:00
657f0922bb Add license (Komorebi) 2025-08-09 10:31:26 +01:00
c8bacab6fe Add build/ directory to .gitignore 2025-08-09 10:28:47 +01:00
0b4c586ae9 Add ClangFormat configuration 2025-08-09 10:28:33 +01:00
738163d80c Add unity submodule 2025-08-09 10:25:44 +01:00