updated todo

This commit is contained in:
pca006132 2021-01-25 17:09:17 +08:00
parent 7d06c903e3
commit 0e9dea0e65
1 changed files with 15 additions and 4 deletions

View File

@ -12,12 +12,23 @@ Errors:
- Incorrect number of parameters
Symbol Resolution:
- Add all files with annotated class/functions.
- Find class references, load them all in TopLevelContext.
- Find unbounded identifiers/functions in functions.
- `inspect.getmodule(x)` every unknown `x` if not primitive/list of primitives,
check their files recursively by getting their file path, cache with
(normalized) path as key.
- Find unbounded identifiers in the functions.
- If it is a function/class name, record its object ID.
- Otherwise, load its value. (check to see if specified with `global`)
(Function implemented in python, with rust binding to add value to global
variable dictionary)
Global variable dictionary:
- Primitives, including integers, floats, bools, etc.
- Primitive lists.
- Numpy multi-dimensional array, with value + dimension vectors.
- Reference array, with integer index referring to other things.
- Symbol table: python id -> reference id.
TopLevelContext/InferenceContext:
- Restrict visibility by user defined function.