From 1092c68317af4ff05fb5ef6832c668b2de5e3895 Mon Sep 17 00:00:00 2001 From: Slendi Date: Sun, 3 Mar 2024 22:28:46 +0200 Subject: [PATCH] Add TODO list I don't want to lose track of progress, this should make sure that won't happen. Signed-off-by: Slendi --- todo_list.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 todo_list.md diff --git a/todo_list.md b/todo_list.md new file mode 100644 index 0000000..df349c7 --- /dev/null +++ b/todo_list.md @@ -0,0 +1,37 @@ +# TODO list (epic) + +- [x] Create a TODO list +- [ ] Custom Functions (not external) + - [ ] Add support for function definitions in the type checker + - [ ] Add support for function definitions in the LLVM emitter +- [ ] Structures + - [ ] Add support for packed in the parser + - [ ] Add support for definitions in the type checker + - [ ] Add support for definitions in the LLVM emitter + - [ ] Add support for member accesses in the type checker + - [ ] Add support for member accesses in the LLVM emitter +- [ ] Unions + - [ ] Add support for unions in the type checker + - [ ] Add support for unions in the LLVM emitter + - [ ] Add support for member accesses in the type checker + - [ ] Add support for member accesses in the LLVM emitter +- [ ] Enums + - [ ] Add support for enums in the type checker + - [ ] Add support for enums in the LLVM emitter + - [ ] Add support for member accesses in the type checker + - [ ] Add support for member accesses in the LLVM emitter +- [ ] Modules + - [ ] Add support for modules in the type checker + - [ ] Modify functions, structures, unions and enums to have names mangling + - [ ] Add support for modules in the LLVM emitter + - [ ] Modify functions, structures, unions and enums to have names mangling +- [ ] Typed Unions + - [ ] Add support for unions in the parser + - [ ] Add support for unions in the type checker + - [ ] Add support for unions in the LLVM emitter + - [ ] Add support for member accesses in the type checker + - [ ] Add support for member accesses in the LLVM emitter +- [ ] Create a self-sustained compiler + - [ ] Add a glue code to the compiler to compile itself (basically interface to libc) + - [ ] Create an assembler for x86_64 + - [ ] Create a custom backend