From 0e9dea0e65b41216c8828848d7e07131e29458ca Mon Sep 17 00:00:00 2001 From: pca006132 Date: Mon, 25 Jan 2021 17:09:17 +0800 Subject: [PATCH] updated todo --- todo.txt | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/todo.txt b/todo.txt index 8d1a2964..9447447a 100644 --- a/todo.txt +++ b/todo.txt @@ -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. + +