标签: c++ llvm-c++-api
我正在为一种简单的命令式语言编写编译器。这种语言允许封装的函数定义(如Python)。这些函数(它们的主体)起作用域的作用,这意味着如果在函数x中声明了变量foo,则在其外部不可见,而x是在x之后,foo内部定义的内部可见函数。同样适用于函数,当然,也允许变量和函数屏蔽。
x
foo
LLVM C ++ API是否提供一种标准/推荐的方式来跟踪在任何给定时刻为我的语言生成LLVM IR时可见的变量/函数(例如各种“范围堆栈”)?
现在,我通过我的自定义记录器类跟踪这些情况。