diff --git a/todo_list.md b/todo_list.md index ef8407e..28f5eb0 100644 --- a/todo_list.md +++ b/todo_list.md @@ -11,17 +11,19 @@ - [x] Add support for member accesses in the LLVM emitter - [x] Add support for packed in the parser - [x] Add support for packed in the LLVM emitter - - [ ] Add support for nested member accesses -- [ ] 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 + - [x] Add support for nested member accesses + - [ ] Add support for nested structure initializers (LLVM) + - [ ] Add support for setting values in struct (uses second ret val) - [ ] 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 +- [ ] 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 - [ ] Modules - [ ] Add support for modules in the type checker - [ ] Modify functions, structures, unions and enums to have names mangling @@ -33,7 +35,14 @@ - [ ] 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 +- [ ] Create a self-sustained compiler/kernel + - [ ] Get a basic UEFI hello world working + - [ ] Create a kernel that can read the root partition + - [ ] Create a kernel that has some memory management and malloc + - [ ] Re-write the compiler frontend for the kernel + - [ ] Lexer + - [ ] Parser + - [ ] Type checker + - [ ] Re-write the backend + - [ ] Create an assembler for x86_64 + - [ ] Create a custom backend