[编译原理] 短语,直接短语,句柄辨析

根据概念:
在这里插入图片描述
可以看到他们之间有一种包含关系:

在这里插入图片描述

现在来解释一下概念:

  • 子树:子树从概念上看,就是包含某个根的所有的叶子结点(这个根推导出来的)的树
  • 短语:某个子树的叶子节点的序列
  • 直接短语:二级子树的叶子节点的序列(子树中不再包含其他的子树,即A只能推导出b,而b不能再推出其他的式子,则b为此句型的直接短语)
  • 句柄:最左边的直接短语

用一个栗子来理解一下:
在这里插入图片描述

证明是句型,我们只需要根据文法能够画出他的抽象语法树就可以证明:
在这里插入图片描述
因为E⇒E+T⇒E+TF, 所以E+TF是该文法的一个句型。

根据语法树,对于子树T来说,其所有叶子节点为:T*F,对于E来说,其所有叶子节点为:E+T*F故短语为 T*F 和 E+T*F
那么我们就能推出:

  • 短语: T*F, E+T*F
  • 直接短语:T*F
  • 句柄:T*F

猜你喜欢

转载自blog.csdn.net/TalesOV/article/details/105068843