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

2017-08-09  本文已影响0人  牛程程

语法树的构造

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

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

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读