c语言语法树,编译原理 语法树 句柄 简单短语 短语

转自http://blog.sina.com.cn/s/blog_733bf6e00100v1b2.html

关于编译原理 语法树 句柄 简单短语 短语 的区分,通过两个例子来理解概念以及方法:

例子1——语法树

S -> a|b|(T)

T -> TdS|S

Vt={a,b,d,(,)}.Vn={S,T},S是开始符

句型(Sd(T)db)是S的一个推导,其中___是句柄;____是最左素短语;____是该句型的直接短语,_____是短语。

素短语的概念:它是一个递归的定义,至少含有一个终结符,并且除它自身之外不再含任何更小的素短语,所谓最左素短语就是处于句型最左边的素短语的短语。而一个算符优先文法G的任何句型的最左素短语是满足以下条件的最左子串NaNb…NcNdN(N是非终结符,a,b,c,d是终结符)

实例:句型T+T*F+id,求出其语法树,可知,T*F是最左素短语,id也是素短语,但不是最左的。

解析:

题目中的句型可用下面的语法树表示:

S

/  |  \

(     T     )

/   |   \

T     d     S

/|\          |

T  d  S       b

|    /|\

S  (  T  )

一个句型的语法树中任一子树叶结点所组成的符号串都是该句型的短语,当子树中不包含其他更小的子树时,该子数叶结点所组成的字符串就是该句型的直接(简单)短语。

因此本题的直接

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值