Скажите, у меня есть функция:
function hi()
print('hi')
end
Я бы хотел иметь возможность взять эту функцию в качестве аргумента и выполнить ее анализ, например, перечислить все вызовы функций в ней, увидеть все переменные, на которые она ссылается и т. Д.
Обратите внимание, что я не говорю об анализе исходного кода ; У меня нет исходного текста функции, у меня просто есть объект функции, то есть это делается во время выполнения.
Я думаю, вы могли бы сделать это, чтобы получить AST функции. Но я не знаю, как это сделать. Так как же мне получить AST функции (или иным образом проанализировать ее, если есть лучший способ)?