1
0
Commit Graph

204 Commits

Author SHA1 Message Date
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
4846b3f74d Fix parsing bug that fixes garbage collection bug 2024-08-20 12:09:17 -04:00
cf9a9837c8 Add a parser test; Pass VM test 2024-08-20 07:20:44 -04:00
8b5eb9977c Clean up 2024-08-20 04:38:15 -04:00
e3d821a1c3 Remimplement features 2024-08-20 00:15:19 -04:00
0fd19a623d Improve AST ergonomics 2024-08-17 12:15:47 -04:00
0b64afccb1 Extend VM, abstract tree and parser 2024-08-17 10:07:38 -04:00
fa67a568d9 Pass parser tests; Fix garbage collection 2024-08-17 05:32:18 -04:00
b024d81148 Continue reimplementing the language 2024-08-17 04:06:13 -04:00
8bff39a7db Prepare for value overhaul 2024-08-16 11:21:20 -04:00
7d721beb31 Implement VM and Analyzer by using the new AST 2024-08-16 09:22:36 -04:00
fedefdb29f Implement "let" and "let mut" lexing/parsing 2024-08-16 07:09:46 -04:00
e911853cb5 Clean up 2024-08-16 05:24:55 -04:00
bfb07047a5 Implement VM 2024-08-16 05:14:00 -04:00
26348fb82e Continue implementing the VM 2024-08-16 00:41:52 -04:00
40b5d15b96 Add parser mode to pass tests 2024-08-15 21:34:47 -04:00
44d6a88faa Pass tests 2024-08-15 21:22:24 -04:00
486530610b Continue passing tests and tweaking 2024-08-15 00:20:36 -04:00
81b7888920 Continue passing tests 2024-08-14 21:15:37 -04:00
f4ee3ffcf8 Continue passing tests 2024-08-14 19:43:12 -04:00
441df54a44 Continue passing tests 2024-08-14 18:30:36 -04:00
f4d29eca38 Begin passing tests again 2024-08-14 16:07:32 -04:00
fdf324c866 Continue AST overhaul 2024-08-14 15:52:04 -04:00
43b2393d8a Begin AST overhaul 2024-08-14 14:28:39 -04:00
e7b5390a55 Add more value mutability 2024-08-14 04:59:27 -04:00
8666f1cd9b Add parsing for mutable assignment 2024-08-14 03:53:15 -04:00
3ff3a7568c Continue adding mutable variables 2024-08-14 01:13:43 -04:00
17286896a8 Add async blocks 2024-08-13 23:45:17 -04:00
58780b5530 Write docs and clean up 2024-08-13 22:25:33 -04:00
64a3ce4cd3 Implement subtraction assignment 2024-08-13 21:24:56 -04:00
5c8e72a6f7 Implement fields struct instantiation 2024-08-13 19:41:36 -04:00
b55a79d6bf Add parsing for fields structs 2024-08-13 18:48:02 -04:00
5757f52dbd Refactor to move assingment out of other binary operations 2024-08-13 17:34:45 -04:00
b1337900fb Add analysis to prevent tuple structs with wrong types 2024-08-13 16:46:54 -04:00
83aa53b998 Add instantiation for tuple structs 2024-08-13 16:22:40 -04:00
049790726a Add parsing for tuple structs 2024-08-13 15:12:32 -04:00
1d75bd6594 Add instantiating unit structs 2024-08-13 14:21:31 -04:00
7e7448fe52 Add parsing for unit struct defintions 2024-08-13 13:54:16 -04:00
390511fa20 Rewrite list indexing to use [] syntax 2024-08-12 19:06:57 -04:00
5ad6012021 Refine parsing and lexing 2024-08-12 16:57:10 -04:00
0fb0b63a97 Fix dot notations precedence; Add some miscellaneous expansions 2024-08-12 15:02:04 -04:00
a61c1756f2 Begin fixing map property parsing 2024-08-12 11:24:24 -04:00
0ba54e9717 Add another token type; Add ranges 2024-08-12 10:08:34 -04:00
755fe5d899 Refactor to use parser's 'parse_block' method 2024-08-12 09:06:42 -04:00
bf11bd1f0f Fine-tune pratt parsing to support more complexity 2024-08-12 08:35:08 -04:00
c56a187d05 Add parser tests for new unary operations 2024-08-12 06:00:14 -04:00
2c374a1cd7 Begin adding unary operators 2024-08-12 05:44:05 -04:00
de30f241a8 Refactor function call dot notation; Add better analysis of function calls and property access 2024-08-11 21:37:44 -04:00
3a2dd28efb Improve error layout 2024-08-11 18:01:35 -04:00
3b0c74010e Rename modules 2024-08-11 17:24:05 -04:00
1593080b8d Reorganize parser 2024-06-20 16:36:16 -04:00
e429693364 Begin converting type assingment to declarations 2024-06-20 16:28:33 -04:00
0b8880ae55 Fix lots of parsing and type inferencing 2024-06-19 20:14:51 -04:00
0de25215b8 Implement basic enum instances 2024-06-19 10:48:22 -04:00
c2d8bd299f Add enum parsing; Add assets for examples 2024-06-19 09:48:01 -04:00
859d8db384 Implement serde for Value; Rework comment parsing 2024-06-19 03:32:51 -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
cddf199156 Fix tests; Implement type generics 2024-06-17 17:38:24 -04:00
d53ddd07eb Fix tests and refine new parsing 2024-06-17 15:47:07 -04:00
9e0c0b4db3 Refine type constructor 2024-06-17 10:50:06 -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
54071eb8c0 Add type aliases 2024-06-15 21:13:11 -04:00
f625568ced Attempt to add JSON parsing 2024-06-04 14:47:15 -04:00
c8dfbda447 Add fs.read_file to standard library 2024-05-25 11:48:43 -04:00
d4c0633fab Continue implementing comments 2024-05-23 18:06:04 -04:00
781e3d4263 Switch to pratt parser for "as" expressions 2024-05-23 17:45:08 -04:00
7b78250eca Continue implementing as expression 2024-05-21 19:27:33 -04:00
8ea6b4be81 Begin implementing as expression 2024-05-21 17:07:12 -04:00
9c77ae2410 Fix parsing errors 2024-05-20 15:22:50 -04:00
8fb8a456cd Improve built-in function call parsing 2024-05-18 17:55:58 -04:00
12210fd3ec Clean up 2024-05-18 16:24:17 -04:00
9eb047a913 Revert to pratt parsing for all indexes 2024-05-18 16:21:46 -04:00
47c1617602 Clean up 2024-05-18 14:15:22 -04:00
70f55c85f4 Rewrite io.write_line built-in; Fix memory bug 2024-04-27 05:45:39 -04:00
2b546e7b63 Add example; Clean up pratt parser 2024-04-27 03:40:05 -04:00
71807c0777 Clean up 2024-04-22 17:02:53 -04:00
8478d59000 Refine memory management 2024-04-22 03:41:21 -04:00
70face6765 Revise built-in functions; Add memory management 2024-04-22 01:51:34 -04:00
3d64883e2a Continue revising built-in functions 2024-04-21 21:33:21 -04:00
dbbb912b82 Continue revising built-in functions 2024-04-21 18:06:26 -04:00
fb78798a1d Begin revising built-in functions 2024-04-21 17:00:08 -04:00
e1002b21d9 Clean up 2024-03-29 15:08:45 -04:00
d7a5586bc9 Clean up 2024-03-27 14:11:18 -04:00
70303a77e6 Clean up 2024-03-27 13:53:55 -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
a0a9bc2fdf Add type arguments to function calls 2024-03-24 10:58:09 -04:00
2b797c19f7 Pass all tests 2024-03-24 09:10:49 -04:00
7263507e84 Refine error reports 2024-03-23 17:07:41 -04:00
004b7be27a Implement better standard library interface 2024-03-23 11:24:25 -04:00
eaff59c88d Continue standard library 2024-03-23 09:35:24 -04:00
d7d8fd2499 Run type definitions before other statements 2024-03-20 22:58:13 -04:00
e29e092875 Begin implementing async blocks 2024-03-20 17:05:37 -04:00
bb7cda1242 Fix lexer and all broken tests 2024-03-20 11:43:47 -04:00
5de92ced6e Clean up 2024-03-20 08:53:51 -04:00
936b1f5de9 Improve named type parsing; Clean up 2024-03-20 08:36:18 -04:00
9b74023ade Begin project restructure 2024-03-20 04:42:13 -04:00