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