関数があるとします:
function hi()
print('hi')
end
この関数を引数として取り、その中のすべての関数呼び出しを一覧表示したり、参照しているすべての変数を表示したりするなど、分析を実行できるようにしたいと考えています。
ソース コードの分析について話しているのではないことに注意してください。関数のソース テキストはありません。関数オブジェクトだけがあります。つまり、これは実行時に行われます。
これを行う方法は、関数の AST を取得することです。しかし、私はそれを行う方法がわかりません。では、関数の AST を取得するにはどうすればよいでしょうか (または、より良い方法があればそれを分析します)。