1
0
Commit Graph

150 Commits

Author SHA1 Message Date
f1034534ed Avoid emitting duplicate return instructions; Clean up 2024-10-12 07:12:44 -04:00
02877d06d3 Reduce use of TokenKind in parser to only error cases 2024-10-12 06:27:19 -04:00
6e1ef77192 Refactor to use index references to avoid cloning values 2024-10-12 03:06:44 -04:00
c1e372d7cf Improve disassembler output; Fix return positions 2024-10-09 19:59:06 -04:00
b6c3b1e5ba Refactor 2024-10-09 12:16:46 -04:00
259721f6cb Continue implemnting functions; Begin adding types 2024-10-09 06:15:06 -04:00
bdc34cb10e Begin adding functions to the language 2024-10-08 22:56:01 -04:00
35f73d60f0 Add tests for parser errors 2024-10-05 05:57:28 -04:00
437a6bf164 Add math-assignment operators 2024-10-05 04:33:38 -04:00
d857f42434 Pass all tests 2024-10-05 02:07:26 -04:00
9d0aa13e8a Refactor VM, chunk and parser to pass tests 2024-10-05 00:11:03 -04:00
5015cf4cc4 Refactor how return instruction works; Begin passing tests 2024-10-04 22:33:47 -04:00
5411a1db27 Move and replace lots of tests; Refactor parser 2024-10-04 22:21:17 -04:00
7b055d79b5 Begin rewrite with register-based bytecode 2024-09-11 23:07:20 -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
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
85f5f44946 Pass all tests 2024-09-09 22:57:14 -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
1ecaac0819 Start new rewrite of Dust 2024-09-06 19:27:16 -04:00
9349724bac Fix doc tests; Clean up 2024-09-05 13:16:26 -04:00
c42fca496b Track down tricky context bug 2024-09-05 13:10:38 -04:00
5c9a8dab31 Clean up 2024-09-05 11:36:55 -04:00
0aebd81665 Fix context bug 2024-09-03 00:09:32 -04:00
4433c587f5 Clean up context 2024-09-02 05:53:09 -04:00
2a0e4c9b78 Clean up context garbage collection 2024-09-02 03:58:53 -04:00
e643ebe114 Fix parsing bug 2024-08-31 07:24:45 -04:00
f2e5b8d499 Clean up; Fix tests 2024-08-30 19:58:07 -04:00
012728b00a Try embedding contexts in the AST 2024-08-30 18:06:58 -04:00
b02e5244f2 Add defereference expressions 2024-08-28 11:31:47 -04:00
561a290b16 Implement block scopes; Refactor async block execution 2024-08-24 10:13:16 -04:00
e45ac042b9 Pass some docs tests 2024-08-23 16:47:57 -04:00
6a488c2245 Improve constructors 2024-08-23 11:44:47 -04:00
e84bb2ea70 Improve errors 2024-08-23 05:54:58 -04:00
0d0a2d2237 Add character literal tokens; Change strings to double quotes only 2024-08-23 05:24:48 -04:00
80bf09d807 Clean up 2024-08-20 15:55:35 -04:00
f9480ddc24 Add loop and break 2024-08-20 14:45:43 -04:00