编译原理——语法制导翻译1.2

语法树的构造

语法树是分析树的压缩形式。在语法树中,运算符和关键字不再是叶节点,而是作为内部节点的父节点。

用以下函数建立带有二元运算符的表达式语法树节点,每个函数都返回一个指向新建节点的指针:

1.mknode(op,left,right)。它建立一个标记为op的运算符节点,其两个域left和right是指向其左右运算对象的指针。

2.mkleaf(id,entry)。它建立标记为id的标识符节点,其域entry是指向该标识符在符号表中的相应表项的指针。

3.mkleaf(num,val)。它建立标记为num的数节点,域val保存该数的值。

表达式的无环有向图(directed acyclic graph,简称dag)可以识别表达式中的公共子表达式。代表公共表达式的节点具有多个“父节点”。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容