Хз у меня возникли сразу же проблемы. В основном из-за побочных вещей. Нужно спарсить в первую очередь типажи операторы. Потом нужно распарсить текст с учётом этих операторов. Сок начинается в рекурсивных вызовах и рекурсивных модулях - нужно два раза парсить: первый раз парсить сигнатуры, потом прокидывать сигнатуры в соседние модули и парсить реализацию. А с интерпретатором пофиг - просто исполняешь подряд инструкции и ищешь в хешмапе имя и делаешь stack.push(py_object)
Стоп, парсишь один раз, делаешь общее нетипизированное аст.
Дальше по нему уже начинаешь делать проверку типов/вывод типов и т.д. и т.п.