Commit Graph

40 Commits (main)

Author SHA1 Message Date
Alex Bethel 110d123160 License project under GPLv3 2022-09-04 19:42:08 -06:00
Alex Bethel 4f92cad3c9 Add phi nodes and implement let expressions 2022-08-28 12:28:52 -06:00
Alex Bethel 9926208b4a Add compact UIR text representation 2022-08-27 23:21:12 -06:00
Alex Bethel 2607722686 More work on UIR 2022-08-27 22:16:11 -06:00
Alex Bethel 4480a1973a Get initial AST-UIR translation sort of working 2022-08-23 22:57:09 -06:00
Alex Bethel df7e8b9d74 Start work on AST->Untyped IR translation 2022-08-23 13:43:06 -06:00
Alex Bethel 58438e35cf Introduce untyped IR 2022-08-22 21:33:24 -06:00
Alex Bethel 99daf682cd Tear out the IR and type checking systems
I'm gonna re-do type checking so it's not done at the AST level, but
instead the AST generates a high-level IR that then gets type-checked
to a lower-level IR.
2022-08-22 20:00:34 -06:00
Alex Bethel 01a6a5bbba Add typeck Type type 2022-08-12 21:33:35 -06:00
Alex Bethel cd0353b31a Add dummy `typ` values on expressions in the AST 2022-08-12 21:23:26 -06:00
Alex Bethel f870bbe3c7 Rename the language to Drim 2022-08-10 23:07:33 -05:00
Alex Bethel 6669460326 Parse all namespaced identifiers 2022-08-10 22:49:04 -05:00
Alex Bethel ef0fb0efc2 Clippy 2022-08-10 17:32:47 -05:00
Alex Bethel 8b36fe67f1 Fix constructor parsing 2022-08-10 14:21:15 -05:00
Alex Bethel a88a037495 Disallow reserved identifiers in variable names 2022-08-10 14:20:13 -05:00
Alex Bethel dcab42d0b3 Update README 2022-08-10 13:17:16 -05:00
Alex Bethel 1f7fcf9fb1 Rename tests to be less redundant 2022-08-10 12:32:11 -05:00
Alex Bethel d50122540b Fix bracket subscript parsing 2022-08-09 14:51:40 -05:00
Alex Bethel d1e04b8bbd Implement comprehensive parser tests 2022-08-09 14:32:40 -05:00
Alex Bethel 8ce69cf8da Re-add unary operators 2022-08-09 14:05:57 -05:00
Alex Bethel 12446bf85e Implement tuples, remove unary operators
Removed unary `-` in favor of a special function called `~` because
I'm lazy and will probably do it the other way later
2022-08-08 21:33:24 -05:00
Alex Bethel b4fb2deb55 Comment parsing 2022-08-07 22:45:44 -05:00
Alex Bethel e72a22d294 Parse let and match expressions 2022-08-07 19:36:35 -05:00
Alex Bethel a28cce5b63 Parse lambdas, records, indexing 2022-08-07 18:01:26 -05:00
Alex Bethel 8331e4f341 Parse all pattern types 2022-08-07 14:04:35 -05:00
Alex Bethel 00a9ac7cf7 Record types 2022-08-07 13:03:09 -05:00
Alex Bethel 02134f542c Tuple types 2022-08-07 12:58:44 -05:00
Alex Bethel e56a56693c Application and named types 2022-08-06 23:03:10 -05:00
Alex Bethel dc50dd1545 Basic pattern parsing 2022-08-06 20:04:22 -05:00
Alex Bethel c163224fb7 More literals 2022-08-06 19:42:55 -05:00
Alex Bethel cc32863afc Get basic expression parsing working 2022-08-06 18:54:47 -05:00
Alex Bethel 3067af1304 More parser work 2022-08-06 09:47:47 -05:00
Alex Bethel 9a4c342586 Start writing parser 2022-08-05 17:55:31 -05:00
Alex Bethel 38a90cf1fa Separate out backends in main 2022-08-05 11:49:06 -05:00
Alex Bethel 1044939b32 Move syntax tree to its own file 2022-08-05 11:44:31 -05:00
Alex Bethel e42936fb4a Write `main` file 2022-08-04 21:31:35 -05:00
Alex Bethel b5de11a7fa Update `README.md` 2022-08-04 18:16:33 -05:00
Alex Bethel b0df87bd6a More AST work 2022-08-02 21:16:16 -06:00
Alex Bethel ff92f73211 Add README with planned tools 2022-07-31 11:57:22 -06:00
Alex Bethel a0c820b41f Initial commit 2022-07-30 20:56:44 -06:00