AST树的最后一个节点必须有语义分析器的翻译信息,或者非最后一个节点也可以有这个信息?
问问题
403 次
3 回答
3
你的问题似乎不太好。
在假设您的意思是您写“最后一个节点”的“叶子节点”的情况下,是的,您不仅可以将语义信息与叶子相关联,还可以将其与内部节点相关联。
一个简单的例子是“这个表达式的类型”。很明显,包含文字 TRUE 的叶节点将具有与其关联的表达式类型“布尔”。表达式“if e then 2.7 else 9.3 endif”具有对应的 AST,对应于 if 表达式的内部节点将具有关联的“float”类型。
人们可以提出许多“语义”属性:“使用变量 X、Y、Z”、“无副作用”、“分叉并行子进程”等。其中任何一个都可能适用于内部树节点。
于 2011-08-31T05:22:25.027 回答
0
如果我正确理解您的问题,在 AST 中,内部节点以及叶节点也可以携带语义信息。
于 2011-08-31T05:18:26.143 回答
0
所有的 AST 树都必须存储语义信息。
但是,“叶节点”(引用变量、值、操作数的节点)确实可以存储一些与“分支节点”或“非叶节点”不同的信息。
于 2011-09-02T16:28:26.673 回答