Define todos for v0.0.11

master
Araozu 2024-03-09 21:54:29 -05:00
parent ac2ab8d2dc
commit d822c64fd7
1 changed files with 22 additions and 3 deletions

View File

@ -2,14 +2,12 @@
## TODO ## TODO
- Formally define the top level constructs
- Implement AST transformation before codegen: - Implement AST transformation before codegen:
Create a new AST to represent PHP source code Create a new AST to represent PHP source code
and a THP ast -> PHP ast process, so that the and a THP ast -> PHP ast process, so that the
codegen section can focus only in codegen, not in codegen section can focus only in codegen, not in
translation of thp->php. translation of thp->php.
- Parse __more__ binary operators - Parse __more__ binary operators
- Parse `Type name = value` bindings
- Parse more complex bindings - Parse more complex bindings
- Watch mode - Watch mode
- Improve error messages - Improve error messages
@ -24,11 +22,32 @@
- Simple language server - Simple language server
- Decide how to handle comments in the syntax (?)(should comments mean something like in rust?) - Decide how to handle comments in the syntax (?)(should comments mean something like in rust?)
## v0.0.12
- [ ] Infer datatype of a function call expression
- [ ] Infer datatype of binary operators
- [ ] Execute semantic analysis on the function's block
- [ ] Write tests
## v0.0.11
- [ ] Parse binding of form `val Type variable = value`
- [ ] Parse binding of form `Type variable = value`
- [ ] Infer datatype of `value` in the above for a simple expression
- [ ] Ensure that the anotated datatype matches the datatype of `value` in the above
- [ ] Infer datatype of a `val variable = value` in the AST: Use the infered datatype
- [ ] Formally define the top level constructs
- [ ] Parse bindings and function declarations as top level constructs
- [ ] Parse function declaration arguments (`Type id`)
- [ ] Parse function return datatype (`fun f() -> Type`)
- [ ] Write tests
## v0.0.10 ## v0.0.10
- [x] Parse function call parameters - [x] Parse function call parameters
- [x] Codegen function call parameters - [x] Codegen function call parameters
- [x] Parse function declaration arguments (Type id)
- [x] Begin work on semantic analysis - [x] Begin work on semantic analysis
- [x] Minimal symbol table - [x] Minimal symbol table
- [x] Check duplicate function declarations - [x] Check duplicate function declarations