nac3/todo.txt

35 lines
1.0 KiB
Plaintext
Raw Permalink Normal View History

2021-01-08 17:16:25 +08:00
Errors:
- Not supported
- Only * is supported
- Expected * in *, but got *
- Divergent type in (construct), (location 1), (location 2)
- Unknown field
- Unbounded variable
- Different variable
- Different domain
- * is not subclass of *
- Type not equal
- Incorrect number of parameters
Symbol Resolution:
2021-01-25 17:09:17 +08:00
- Add all files with annotated class/functions.
2021-01-08 17:16:25 +08:00
- Find class references, load them all in TopLevelContext.
2021-01-25 17:09:17 +08:00
- 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.
2021-01-08 17:16:25 +08:00
TopLevelContext/InferenceContext:
- Restrict visibility by user defined function.
2021-01-25 17:09:17 +08:00