1
0

64 Commits

Author SHA1 Message Date
07f8b36c99 Decide on an optimization strategy for the VM 2025-02-16 22:55:55 -05:00
77148cbf3f Extend VM optimizations 2025-02-11 11:09:50 -05:00
5aefb29a95 Experiment with VM optimization 2025-02-11 09:28:02 -05:00
3599643fad Tweak compiler error messages 2025-02-11 07:04:12 -05:00
00f35bd3ae Bring back the assignment error tests 2025-02-11 06:44:26 -05:00
e1e259141c Prevent unnecessary CLOSE instructions 2025-02-11 05:52:26 -05:00
fe59024bf4 Add tests for chained logic operators 2025-02-11 04:52:09 -05:00
f2ee01d66f Add comparison tests for less than operator; Implement less than operator in VM 2025-02-11 02:22:14 -05:00
c7a18b1d39 Update README.md; Clean up 2025-02-08 18:25:23 -05:00
63312cf08a Fix control flow and reintroduce the semicolon parser 2025-02-08 18:13:01 -05:00
a5d2e7d869 Clean up 2025-02-08 17:55:26 -05:00
3af1b64820 Reimplement more instruction and compiler logic 2025-02-08 17:36:30 -05:00
dcea611a0b Add new tests 2025-02-08 11:21:29 -05:00
dc2acbfe46 Fix while loop compiler bug 2025-02-08 10:28:06 -05:00
95cfaecd17 Fix register allocation bug in compiler 2025-02-08 09:06:32 -05:00
e19ddbe2f3 Fix bugs and pass tests 2025-02-08 07:50:00 -05:00
71a92c078b Add formatting disassembly output into JSON or TOML 2025-02-08 05:56:49 -05:00
e387579a81 Extend and pass tests 2025-02-08 00:17:15 -05:00
d3addbe183 Fix and pass all tests 2025-02-07 22:39:07 -05:00
3d48558b94 Add and pass new tests 2025-02-07 19:37:39 -05:00
1d0824165d Implement lists; Add tests 2025-02-07 17:40:08 -05:00
8cc5661944 Begin rewriting tests 2025-02-07 15:37:48 -05:00
72421bf510 Fix compiling of comparison expressions; Implement LoadEncoded in the VM 2025-02-07 13:29:14 -05:00
820ead0c02 Store types in locals; Fix local disassembly 2025-02-07 10:39:33 -05:00
25b4230aa4 Use Operand type to store instruction argument types 2025-02-07 10:19:38 -05:00
75d6948e82 Consolidate point instructions into return instructions 2025-02-06 14:34:31 -05:00
bd273035aa Convert LoadBoolean to LoadEncoded; Fix register handling 2025-02-06 13:10:11 -05:00
6f0955c29a Improve control flow register consolidation 2025-02-06 12:42:55 -05:00
4775d425a0 Implement typed registers with untyped constants 2025-02-05 19:12:26 -05:00
03103e4fa1 Find a solution for the removal of the SetLocal instruction 2025-02-03 18:11:45 -05:00
93f8f31b6d Fix compiler bug 2025-02-03 17:56:11 -05:00
371a061b1c Consolidate local operations to point operations 2025-02-03 17:49:38 -05:00
ac1ee793ab Use fewer operations and encode operand types in the instruction 2025-01-13 09:49:08 -05:00
0510e18060 Begin implementing typed 64-bit instructions 2025-01-13 06:01:38 -05:00
de426d814a Add thread spawning and a random number generator 2025-01-09 19:56:36 -05:00
5caad00f65 Update Rust edition; Edit README; Clean up 2025-01-09 10:38:35 -05:00
9d370aea2a Fix function calling bug 2025-01-09 02:25:06 -05:00
2365979561 Optimize; Remove non-working optimizations; Improve CLI 2025-01-09 01:44:07 -05:00
6cfa0f58e3 Improve VM layout and performance 2025-01-08 10:29:53 -05:00
e9bd9b37b0 Make runtime improvements 2025-01-08 04:21:01 -05:00
2c0da440ef Fix bugs in the VM and compiler 2025-01-04 02:56:46 -05:00
56becbfacb Fix register-setting bug 2025-01-01 21:53:54 -05:00
10c66b3f95 Add jump incrementing when emitting return instructions 2024-12-30 20:34:06 -05:00
950c36d601 Edit README; Fix a test; Try tracing the compiler and VM 2024-12-26 14:29:04 -05:00
71a68c54e4 Clean up 2024-12-21 13:20:57 -05:00
2df86c58bf Organize compiler and clean up type checking 2024-12-18 15:10:40 -05:00
e2a462c3f6 Implement short-circuiting for logical operators; Organize compiler 2024-12-18 14:57:29 -05:00
d7289414f4 Fix some aspects of the compiler for logic and semicolons 2024-12-17 18:11:06 -05:00
72365cd399 Continue new VM implementation; Write docs 2024-12-17 16:31:32 -05:00
4527f7b6ef Continue thread-based VM refactor 2024-12-17 07:10:47 -05:00