updated todo

master^2
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 - Incorrect number of parameters
Symbol Resolution: Symbol Resolution:
- Add all files with annotated class/functions.
- Find class references, load them all in TopLevelContext. - Find class references, load them all in TopLevelContext.
- Find unbounded identifiers/functions in functions. - Find unbounded identifiers in the functions.
- `inspect.getmodule(x)` every unknown `x` if not primitive/list of primitives, - If it is a function/class name, record its object ID.
check their files recursively by getting their file path, cache with - Otherwise, load its value. (check to see if specified with `global`)
(normalized) path as key. (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: TopLevelContext/InferenceContext:
- Restrict visibility by user defined function. - Restrict visibility by user defined function.