1
0
forked from M-Labs/nac3

updated readme

This commit is contained in:
pca006132 2021-06-28 17:17:08 +08:00
parent eb12f6f082
commit 52a82e8a39

View File

@ -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)