【发布时间】:2017-09-05 20:46:07
【问题描述】:
我要解决的初始任务是为任意 Clojure 代码构建 AST。所以谷歌建议为此使用https://github.com/clojure/tools.analyzer.jvm。我已经在简单的 Clojure 表单 (print x) 上尝试过这个库,并且这个引发的异常消息是 Could not resolve var: x。我曾经认为构建 AST 是一个简单的过程,没有验证、解析变量等副作用。也很奇怪,没有关于如何省略这个变量解析步骤的干净文档。
【问题讨论】:
-
我玩了一个选项 :validate/unresolvable-symbol-handler -
(aj/analyze '(print x) (assoc (aj/empty-env) :passes-opts {:validate/unresolvable-symbol-handler (fn [a b c] (print a)) }))但没有运气
标签: clojure abstract-syntax-tree