【发布时间】:2018-09-26 21:46:41
【问题描述】:
我正在阅读 llvm 的编译器编写指南: https://llvm.org/docs/tutorial/LangImpl02.html
在该指南中,他们使用一种称为“万花筒”的简单语言作为示例。在阅读该指南之前,我的印象是每个程序都会生成一个 AST(我假设程序是写在一个文件上的,因此不需要链接)。但似乎 llvm 为每一行(或者更准确地说,为每个构造)创建了一个单独的 AST。因此,对于单个程序,llvm 可以创建数百个单独的 ast。这种解释正确吗?
【问题讨论】:
-
阅读trees。 AST 是一个抽象语法 树,因此每个节点本身就是一个(子)树。
标签: llvm