通过宏和代码行走者可能有几种方法来实现这种内省功能,但是有一种更简单(可能的,依赖于实现的)方式吗?我想,调用然后释放调试器可以打开对帧堆栈的访问,但这似乎也是一种过度杀伤。
尝试一些更简单的想法?
答案 0 :(得分:0)
宏可以采用在调用上下文的词法环境中传递的& env参数。然后,您可以使用以下函数查询词法环境:https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html
请务必查看variable-information
和function-information
。
我相信还有一些特定于实现的方法可以在运行时获得当前的词法环境。