|
6ca96bc1dc
|
Add &&, || and ! to the language; Add tests
|
2024-09-17 17:51:39 -04:00 |
|
|
00555785e3
|
Refactor pratt parsing
|
2024-09-17 17:23:37 -04:00 |
|
|
6c76006ad9
|
Improve test
|
2024-09-17 13:39:12 -04:00 |
|
|
0d55bb7244
|
Fix binary expression parsing
|
2024-09-17 13:24:45 -04:00 |
|
|
fd4ffeec7c
|
Pass tests
|
2024-09-17 12:08:40 -04:00 |
|
|
71a4f863e3
|
Add test
|
2024-09-15 10:20:43 -04:00 |
|
|
9cb6873618
|
Add test
|
2024-09-15 06:33:56 -04:00 |
|
|
b66710e3eb
|
Improve precedence parsing
|
2024-09-15 06:26:31 -04:00 |
|
|
4653a3f506
|
Improve on proof of concept
|
2024-09-15 04:25:24 -04:00 |
|
|
97bde437e8
|
Pass tests and fix instruction byte encoding bug
|
2024-09-15 02:03:54 -04:00 |
|
|
d1bdabed56
|
Continue register proof of concept
|
2024-09-15 01:24:04 -04:00 |
|
|
ba80774e7b
|
Refactor and debug
|
2024-09-14 21:05:03 -04:00 |
|
|
aa8b1215a8
|
Clean up
|
2024-09-14 15:06:13 -04:00 |
|
|
9418cd5b70
|
Add "styled" CLI option and debug logging for disassembler
|
2024-09-14 14:31:40 -04:00 |
|
|
8534f18c9a
|
Tweak the chunk disassembly
|
2024-09-14 13:59:11 -04:00 |
|
|
2ad3440097
|
Clean up
|
2024-09-13 02:30:09 -04:00 |
|
|
3b7987c218
|
Replace local variables with indexes to the register
|
2024-09-13 02:28:18 -04:00 |
|
|
a0439675b7
|
Fix bugs and improve disassembler
|
2024-09-13 01:10:07 -04:00 |
|
|
82a2b8f6b7
|
Fix byte lexing bug; Implement Move operation
|
2024-09-12 21:14:15 -04:00 |
|
|
5c54a5b9bd
|
Make chunk disassembly the prettiest thing ever
|
2024-09-12 19:25:20 -04:00 |
|
|
9144257524
|
Replace VM's "clone" method with "take" to avoid cloning values
|
2024-09-12 14:22:07 -04:00 |
|
|
caf59894b6
|
Fix and implement variable getting and setting
|
2024-09-12 14:16:26 -04:00 |
|
|
8b33df3d4a
|
Prettify the hell out of chunk disassembly
|
2024-09-12 13:03:24 -04:00 |
|
|
78c9ed97e2
|
Experiment with instruction optimization
|
2024-09-12 09:11:49 -04:00 |
|
|
6ff25a22ec
|
Fix lexing bug that I just created
|
2024-09-12 05:12:38 -04:00 |
|
|
d4d58e793b
|
Refactor and improve the VM, Parser, and Lexer
|
2024-09-12 05:08:55 -04:00 |
|
|
67e5de6664
|
Reimplement the Parser and VM with a register-based VM
|
2024-09-12 00:39:31 -04:00 |
|
|
7b055d79b5
|
Begin rewrite with register-based bytecode
|
2024-09-11 23:07:20 -04:00 |
|
|
974310ffab
|
Preffify logs
|
2024-09-11 04:33:53 -04:00 |
|
|
86f8e47b0c
|
Avoid cloning constant and move identifier stack to the chunk
|
2024-09-11 04:22:54 -04:00 |
|
|
e4204c1b0d
|
Get variable scopes working
|
2024-09-11 03:10:12 -04:00 |
|
|
8f58bf30a4
|
Make everything messy
|
2024-09-10 18:19:59 -04:00 |
|
|
c3790e90bf
|
Implement blocks with scopes
|
2024-09-10 10:44:15 -04:00 |
|
|
4ba3a47ae5
|
Add implicit returns and fix variable declaration and resolution
|
2024-09-10 09:26:05 -04:00 |
|
|
f936c30b4f
|
Go to great lengths to avoid cloning Values; Extend error reports
|
2024-09-10 03:42:25 -04:00 |
|
|
0ed2733991
|
Add quotes to string value display
|
2024-09-10 01:06:38 -04:00 |
|
|
8798efc0af
|
Add error reports and byte operations
|
2024-09-10 01:04:30 -04:00 |
|
|
8f20e53880
|
Add support for characters and bytes
|
2024-09-09 23:45:35 -04:00 |
|
|
fcfcb4a429
|
Restructure, clean up and add tests
|
2024-09-09 23:24:22 -04:00 |
|
|
85f5f44946
|
Pass all tests
|
2024-09-09 22:57:14 -04:00 |
|
|
5b8ec74d05
|
Prettify disassembly output
|
2024-09-09 20:55:00 -04:00 |
|
|
c406039c99
|
Replace global variables with locals
|
2024-09-09 19:23:49 -04:00 |
|
|
32347ec512
|
Make chunk debug print infallible
|
2024-09-07 18:48:01 -04:00 |
|
|
e9ec838b25
|
Refactor and clean up
|
2024-09-07 17:16:14 -04:00 |
|
|
b8957190e0
|
Add and pass tests
|
2024-09-07 13:51:05 -04:00 |
|
|
3ac15fe70b
|
Implement let assignment
|
2024-09-07 12:15:47 -04:00 |
|
|
03d44434e2
|
Refactor parsing
|
2024-09-07 06:38:12 -04:00 |
|
|
616f890028
|
Pass parser test
|
2024-09-07 04:37:38 -04:00 |
|
|
812d930488
|
Continue writing bytecode implementation
|
2024-09-07 04:34:03 -04:00 |
|
|
406edda573
|
Begin parser
|
2024-09-06 23:30:43 -04:00 |
|