2021-06-06 15:57:50 +00:00
|
|
|
TODO List
|
|
|
|
=========
|
|
|
|
|
|
|
|
# Now
|
|
|
|
|
|
|
|
## Parsing
|
2021-05-04 17:26:26 +00:00
|
|
|
|
|
|
|
- [ ] `parseStruct`
|
2021-06-06 13:54:15 +00:00
|
|
|
- [x] Actually parse body
|
|
|
|
- [x] Only allow variables declarations
|
2021-05-04 17:26:26 +00:00
|
|
|
- [ ] Allow assignments I guess
|
2021-06-06 13:54:15 +00:00
|
|
|
- [x] Maybe function definitions too (D-kinda thing)
|
2021-05-04 17:26:26 +00:00
|
|
|
- [ ] Add constructor support (initializes values)
|
2021-05-31 07:07:22 +00:00
|
|
|
- [ ] I guess this is nicer when you have functions
|
2021-05-04 17:26:26 +00:00
|
|
|
in the struct too to make initialization code more modular
|
2021-06-06 13:54:15 +00:00
|
|
|
- ~~[ ] Allow nested structs~~
|
|
|
|
* Removed, why? That would be weird?
|
2021-06-06 13:46:59 +00:00
|
|
|
- [ ] Note to self, `parseClass` and `parseStruct` should be way more specific and not just call `parseBody`
|
2021-06-06 13:49:07 +00:00
|
|
|
- As currently one can then use `static` outside of these contexts
|
2021-06-06 13:51:06 +00:00
|
|
|
- [x] `parseStruct`
|
|
|
|
- [x] Adding missing support for `static` in it
|
2021-06-06 13:49:07 +00:00
|
|
|
- [ ] `parseClass`
|
2021-06-06 14:10:33 +00:00
|
|
|
- [ ] Add this
|
|
|
|
|
2021-06-06 15:57:50 +00:00
|
|
|
## Typechecking
|
|
|
|
|
|
|
|
- [ ] Dependency generation
|
2021-06-07 12:27:36 +00:00
|
|
|
- [ ] Classes declared at the module level should be marked as static in `parse()`
|
|
|
|
- [ ] `parseClass()` should not use
|
2021-06-06 16:05:19 +00:00
|
|
|
- [ ] Structs declared at the module level should be marked as ~~marked~~ seen in `parse()` (not in `parseBody()` <- this is a note we don't do this)
|
|
|
|
- [ ] Functions (?) declared at the module level should be ~~marked~~ seen as static in `parse()` (not in `parseBody()` <- this is a note we don't do this)
|
|
|
|
- [ ] Variables declared at the module level should be marked as ~~marked~~ seen in `parse()` (not in `parseBody()` <- this is a note we don't do this)
|
2021-06-06 14:10:33 +00:00
|
|
|
|
2021-06-06 15:57:50 +00:00
|
|
|
# Future
|
2021-06-06 14:10:33 +00:00
|
|
|
|
|
|
|
- [ ] Make the compiler a library
|
|
|
|
- [ ] Remove `exit` from `expect` and rather throw an error
|
|
|
|
- [ ] Split it up into two projects with...
|
|
|
|
- [ ] Library
|
|
|
|
- [ ] Frontend interface
|
|
|
|
- [ ] Publish to dub
|