Added a few todo points

This commit is contained in:
Eduard Urbach 2024-07-24 19:39:13 +02:00
parent 70792acb12
commit 65cc81032b
Signed by: akyoto
GPG Key ID: C874F672B1AF20C0

View File

@ -96,10 +96,84 @@ This is what generates the AST from tokens.
This is what generates expressions from tokens.
## Todo
### Compiler
- [x] Tokenizer
- [x] Scanner
- [x] Functions
- [x] Variables
- [x] Error messages
- [x] Expression parser
- [x] Function calls
- [x] Parallel compilation
- [x] Syscalls
- [x] Variable lifetimes
- [x] Branches
- [x] Loops
- [ ] Data structures
- [ ] Type system
- [ ] Type operator: `|` (`User | Error`)
- [ ] Hexadecimal, octal and binary literals
- [ ] Error handling
- [ ] Multiple return values
- [ ] Threading library
- [ ] Self-hosted compiler
### Keywords
- [ ] `for`
- [x] `if`
- [x] `import`
- [x] `loop`
- [x] `return`
- [ ] `switch`
### Optimizations
- [x] Exclude unused functions
- [ ] Expression folding
- [ ] Function call inlining
- [ ] Loop unrolls
### Linter
- [x] Unused variables
- [x] Unused parameters
- [ ] Unused imports
- [ ] Unnecessary newlines
- [ ] Ineffective assignments
### Operators
- [x] `=`
- [x] `+`, `-`, `*`, `/`
- [x] `+=`, `-=`, `*=`, `/=`
- [x] `==`, `!=`, `<`, `<=`, `>`, `>=`
- [x] `&&`, `||`
- [ ] `%`
- [ ] `<<`, `>>`
- [ ] `<<=`, `>>=`
- [ ] `&`, `|`, `^`
- [ ] `&=`, `|=`, `^=`
### Architecture
- [ ] arm64
- [ ] wasm
- [x] x86-64
### Platform
- [x] Linux
- [ ] Mac
- [ ] Windows
## Tests
```shell
go test ./... -v
go test ./... -v -cover
```
## Benchmarks