我试图了解 Clang 的来龙去脉,但我不太确定“Sema”库。语义分析是否在编译器编译程序的路径中?还是只是程序员用来分析他/她的代码?
据我所知,解析器构建了一个 AST,然后有“AST 消费者”使用 AST 做不同的事情。因此,代码生成库将 AST 转换为 IR。语义分析库使用 AST 来分析代码。这种理解是正确的,还是语义分析器也用于编译?
我试图了解 Clang 的来龙去脉,但我不太确定“Sema”库。语义分析是否在编译器编译程序的路径中?还是只是程序员用来分析他/她的代码?
据我所知,解析器构建了一个 AST,然后有“AST 消费者”使用 AST 做不同的事情。因此,代码生成库将 AST 转换为 IR。语义分析库使用 AST 来分析代码。这种理解是正确的,还是语义分析器也用于编译?