欢迎!请查看关于页面以了解更多关于这是如何工作的信息。
我如何从函数中解析抽象语法树呢?例如,给定
(defn f [x] (/ (- 1.0 (Math/exp (- x))) 2.0))
有没有什么办法可以将其解析成类似列表的数据结构?
[:op "/" [:op "-" 1.0 [:op "Math/exp" [:op "-" x]]] 2.0]
谢谢!
顺便说一句,我理解这几乎是相同的。我正在学习Clojure,这似乎是一个很简单的问题,但我找不到解决方案。
嗨!有一个用于此类任务的非常有用的库,名为tools.analyzer,很有帮助。链接是https://github.com/clojure/tools.analyzer