hm-inference #6
20
README.md
20
README.md
|
@ -15,20 +15,20 @@ caller to specify which methods should be compiled). After type checking, the
|
||||||
compiler would analyse the set of functions/classes that are used and perform
|
compiler would analyse the set of functions/classes that are used and perform
|
||||||
code generation.
|
code generation.
|
||||||
|
|
||||||
|
|
||||||
Symbol resolver:
|
|
||||||
- Str -> Nac3Type
|
|
||||||
- Str -> Value
|
|
||||||
|
|
||||||
value could be integer values, boolean values, bytes (for memcpy), function ID
|
value could be integer values, boolean values, bytes (for memcpy), function ID
|
||||||
(full name + concrete type)
|
(full name + concrete type)
|
||||||
|
|
||||||
## Current Plan
|
## Current Plan
|
||||||
|
|
||||||
1. Write out the syntax-directed type checking/inferencing rules. Fix the rule
|
Type checking:
|
||||||
for type variable instantiation.
|
|
||||||
2. Update the library dependencies and rewrite some of the type checking code.
|
- [x] Basic interface for symbol resolver.
|
||||||
3. Design the symbol resolver API.
|
- [x] Track location information in context object (for diagnostics).
|
||||||
4. Move tests from code to external files to cleanup the code.
|
- [ ] Refactor old expression and statement type inference code. (anto)
|
||||||
|
- [ ] Error diagnostics utilities. (pca)
|
||||||
|
- [ ] Move tests to external files, write scripts for testing. (pca)
|
||||||
|
- [ ] Implement function type checking (instantiate bounded type parameters),
|
||||||
|
loop unrolling, type inference for lists with virtual objects. (pca)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue