1
0
Commit Graph

145 Commits

Author SHA1 Message Date
60535e20d6 Deduplication of constants in the chunk; Clean up 2024-11-04 08:08:56 -05:00
1947d66be5 Overhaul implicit returns and add lots of new native functions 2024-11-02 21:24:41 -04:00
ae6d3d7a82 Add new implicit return for end of file 2024-11-01 09:55:15 -04:00
7e4f6654a4 Add move instruction to fix assignment to conditionals 2024-11-01 02:51:18 -04:00
febd7bb054 Fix while loop jumps; Pass tests 2024-10-31 20:33:46 -04:00
604962c535 Begin refactoring jump instructions 2024-10-30 14:48:30 -04:00
1f9adfab2f Fix test 2024-10-30 10:30:56 -04:00
10abd91c85 Add failing control flow test with new panic function 2024-10-30 09:50:45 -04:00
bd23853657 Add native function errors 2024-10-30 09:32:46 -04:00
c264aaeb13 Add the to_string, write and write_line natives 2024-10-30 05:16:34 -04:00
af4e43fc9f Add native calls and the panic native 2024-10-30 03:08:25 -04:00
e304195661 Change return to use last_assigned_value; Add scopes tests 2024-10-29 23:11:55 -04:00
004cf73959 Pass tests 2024-10-24 22:37:18 -04:00
648bbdbc4d Refactor parsing for better jumping and returns 2024-10-20 18:51:04 -04:00
1da61f0873 Begin reworking jump instructions 2024-10-20 10:20:09 -04:00
6caae6c952 Add chunk names 2024-10-20 00:46:59 -04:00
f15cf84c4d Refactor to fix bugs with loops; Add close instructions while calling functions 2024-10-20 00:06:22 -04:00
13b4cfffcc Add function declarations to the parser 2024-10-19 19:13:19 -04:00
9d5c9d9fd0 Implement functions calls 2024-10-19 17:24:22 -04:00
6bcc5b1555 Add function test 2024-10-19 01:58:30 -04:00
b7153df9be Pass tests 2024-10-19 01:04:53 -04:00
44659ec34a Extend CLI to cover more formatting options; Extend formatting 2024-10-13 16:46:45 -04:00
ea0be43199 Begin adding function calls 2024-10-12 10:55:34 -04:00
30b2801a38 Add item type to list value; Clean up 2024-10-12 06:17:16 -04:00
9c612317dc Refactor values to use register pointers for complex values 2024-10-12 04:50:30 -04:00
6e1ef77192 Refactor to use index references to avoid cloning values 2024-10-12 03:06:44 -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
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
9b1dc6c55c Rewrite tests for consistency 2024-10-04 22:36:33 -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
d0d80cf407 Use test for single registers in conditional expressions 2024-09-25 09:55:10 -04:00
60df8b4d64 Remove identiifer cache and extend some tests 2024-09-24 20:32:52 -04:00
7afde989f9 Fix bugs in binary parsing and running 2024-09-24 16:49:17 -04:00
3df42f6a47 Refine equality implementation 2024-09-24 08:29:33 -04:00
1d03876b89 Write tests 2024-09-24 01:30:21 -04:00
5441938725 Add better parser error 2024-09-24 00:24:09 -04:00
9fe3e440ac Add and pass tests 2024-09-23 19:16:15 -04:00
573e5ae470 Change VM's final value to last modified register 2024-09-22 12:57:58 -04:00
31bb7eaffc Pass tests 2024-09-19 18:07:11 -04:00
6ca96bc1dc Add &&, || and ! to the language; Add tests 2024-09-17 17:51:39 -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
86f8e47b0c Avoid cloning constant and move identifier stack to the chunk 2024-09-11 04:22:54 -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
1ecaac0819 Start new rewrite of Dust 2024-09-06 19:27:16 -04:00
72a019cfe5 Clean up and refactor slightly 2024-09-05 11:32:31 -04:00
e643ebe114 Fix parsing bug 2024-08-31 07:24:45 -04:00
cc188a233b Overhaul project structure 2024-08-03 20:23:52 -04:00
2f06b18c3c Move type module out of abstract tree module 2024-08-02 16:33:40 -04:00
a02cee0b9f Add two new tests and refactor to pass them 2024-07-13 10:47:24 -04:00
62ece61ce6 Fix test 2024-07-12 19:53:10 -04:00
790438d1e3 Add type arguments to enum instances 2024-07-12 11:08:53 -04:00
c85958064a Fix test; Pass all tests 2024-07-11 17:54:59 -04:00
f3fe03a95f Fix function context bug 2024-07-11 17:22:30 -04:00
1794f7559c Clean up 2024-07-11 08:10:12 -04:00
48f3ccdd58 Fix inheritance; Add a test 2024-07-09 23:01:54 -04:00
699576c4c7 Add use statements with pre-compile std library 2024-07-01 14:23:01 -04:00
adfd3aa5d4 Add list type check; Clean up 2024-06-28 15:35:18 -04:00
fe0bb0a0b5 Clean up 2024-06-26 18:09:38 -04:00
29bbcb019d Add and pass validation test 2024-06-26 16:24:41 -04:00
a177f19f28 Pass all tests 2024-06-24 16:48:39 -04:00
97268c272e Use rust-style type parameter syntax 2024-06-24 13:54:37 -04:00
37d54499da Use rust-style turbofish 2024-06-24 13:48:31 -04:00
af20dab0d2 Refactor function types 2024-06-23 22:39:33 -04:00
6bdefd0698 Continue major refactoring 2024-06-22 13:55:43 -04:00
4b89ea0e96 Continue refactoring 2024-06-22 00:58:30 -04:00
a94251e707 Rework enums and type constructors 2024-06-20 18:41:07 -04:00
fecc62811d Improve type inference 2024-06-19 12:03:25 -04:00
0de25215b8 Implement basic enum instances 2024-06-19 10:48:22 -04:00
ed4820a137 Implement serde traits for Value 2024-06-19 04:56:56 -04:00
ccdcc7c791 Fix tests and comment some out 2024-06-18 22:03:41 -04:00
799467b25b Reduce ambiguity for function parsing 2024-06-18 21:44:22 -04:00
7c809fa764 Clean up and prettify parsing errors 2024-06-18 19:42:04 -04:00
d53ddd07eb Fix tests and refine new parsing 2024-06-17 15:47:07 -04:00
e448c9dd4c Add type constructor 2024-06-17 10:10:06 -04:00
a0b754cc1c Begin preparing for type expressions 2024-06-16 03:12:04 -04:00
f7bc43d7e3 Replace context inheritance with parental refs 2024-05-21 16:32:23 -04:00
9eb047a913 Revert to pratt parsing for all indexes 2024-05-18 16:21:46 -04:00
200a5d9127 Add type argument test 2024-03-29 15:52:02 -04:00
f1f4d48d3a Remove redundant source position info from AST 2024-03-25 01:36:33 -04:00
e50b231958 Overhaul AST 2024-03-25 00:16:55 -04:00
966983920e Toy with chumsky and ariadne 2024-03-24 15:35:19 -04:00
6b0bb0016f Begin implementing type arguments 2024-03-24 12:21:08 -04:00
2b797c19f7 Pass all tests 2024-03-24 09:10:49 -04:00
004b7be27a Implement better standard library interface 2024-03-23 11:24:25 -04:00
690e248df6 Implement async blocks 2024-03-20 17:18:47 -04:00
bb7cda1242 Fix lexer and all broken tests 2024-03-20 11:43:47 -04:00
177888c962 Move tests 2024-03-20 06:56:20 -04:00