compiler-construction - AST 树语义分析器

标签 compiler-construction tree abstract-syntax-tree semantic-analysis

AST树的最后一个节点必须有语义分析器的推导信息,还是非最后一个节点也可以有这个信息?

最佳答案

您的问题似乎不太清楚。

假设您指的是“最后一个节点”所在的“叶节点”,是的,您不仅可以将语义信息与叶关联,还可以与内部节点关联。

一个简单的例子是“这个表达式的类型”。很明显,包含文字 TRUE 的叶节点将具有与其关联的表达式类型“boolean”。表达式“if e then 2.7 else 9.3 endif”具有相应的 AST,并且与 if 表达式对应的内部节点将具有关联类型“float”。

人们可以提出很多“语义”属性:“使用变量 X、Y、Z”、“无副作用”、“ fork 并行子进程”等。其中任何一个都可能适用于内部树节点。

关于compiler-construction - AST 树语义分析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7252759/

相关文章:

tree - Extjs4.1如何从TreeStore获取数据

json - 在 Purescript 中的 AST 中输入信息

compiler-construction - 寄存器和共享内存取决于编译计算能力?

compiler-construction - (XNA 4.0) 是否有 (XNA 3.1 "Effect.CompileFromFIle") 等效项?

compiler-construction - 破解 Open JDK - 发出 LLVM 汇编程序而不是 Java 字节码

javascript - 如何获取json文件的主结构?

java - 树打印树方法

python - 用于解析 Python 源以在全局变量后提取文档字符串的示例 ast 代码

grails - 为所有 GORM 对象添加属性和方法

c++ - 在 C++14 中将模板变量传递给模板函数