fa/TODO.md
Ari Archer c65bddbcc6
Functions!
Signed-off-by: Ari Archer <ari.web.xyz@gmail.com>
2022-07-12 23:51:47 +03:00

40 lines
1.7 KiB
Markdown

- [x] Use return value in `drop`
- **Problem:** Didn't use
- **Potential solution:** Using `imul`
- **Solution:** Used `imul`
- [x] Type checking
- **Problem:** Is complicated
- **Potential solution:** Well.. to type check it
- **Solution:** Implemented it
- [x] Dynamic buffer allocation
- **Problem:** Both mmap and brk confused me
- **Potential solution:** Use `brk()` or `mmap()` syscalls
- **Solution:** Used `brk()` syscall
- [ ] Scope
- **Problem:** No scope tracking
- **Potential solution:** Keep track of the current scope using strings
and concantination so for e.g. `macro a macro b 0 end end`
would be `[macro.a, macro.a.macro.b]`
- **Solution:**
- [ ] Copying `n` ammount of elements (instead of `1`)
- **Problem:** Limited registers and no second stack
- **Potential solution:** Using math just like `drop`
- **Solution:**
- [x] Better buffer management
- **Problem:** a) How you you free reserved bytes b) How do I manage the labels
- **Potential solution:** Store a tuple of the label name and
buffer size in the token and/or `BUFFERS`
dictionary
- **Solution:** None, keyword has been deprecated
- [x] Passing test cases
- **Problem:** None, just a lot of tests
- **Potential solution:** Make test cases
- **Solution:** Added test cases
- [ ] Type checking for names
- **Problem:** Not checking the types of the value, only the pointers
- **Potential solution:**
- **Solution:**
- [ ] Better type checking
- **Problem:** Type checking is a mess currently as is disabled
- **Potential solution:** Well.. to type check the AST
- **Solution:**