25 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
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
9df53c63c5 Create REPL module 2025-08-10 17:26:46 +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
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
3e8a9d6789 Implement tokenisation 2025-08-09 15:33:52 +01:00