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

来源:互联网 发布:美工详情页思路 编辑:程序博客网 时间:2024/05/19 05:30

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

例子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  ) 

 

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

因此本题的直接短语的为 S 、(T)、b,短语有S、(T)、b、Sd(T)、Sd(T)db 、(Sd(T)db)。

d不是直接短语,因为d所在的树还有子树所以它不是 !

一个句型的最左直接短语汇称为该句型的句柄

素语是一个短语,它至少含有一个终结符,而且除它自身以外不再含有更少的素短语,对于句型(Sd(T)db)的素短语是(T)、b.

 

每个句型对应一棵语法树 

每棵语法树的叶子结点从左到右排列构成一个句型 

每棵语法树的子树的叶子结点从左到右排列构成一个短语 

每棵语法树的简单子树(只有父子两层结点)的叶子结点从左到右排列构成一个简单(直接)短语 

每棵语法树的最左简单子树(只有父子两层结点)的叶子结点从左到右排列构成句柄 

素短语是至少包含一个终结符的短语,但它不能包含其它素短语 

最左推导:在每个推导过程中,总是首先考虑对当前最左边的非终结符号进行推导 

最右推导:在每个推导过程中,总是首先考虑对当前最右边的非终结符号进行推导

 

例子2——直接推导

 

已知文法G[S] S::=aB|bA

             A::=a|aS|bAA

             B::=aBB|bS|b

句型aabbAb的句柄是

A.a     B.ab

C.b     D.bA

 

 

 

 

解析:

 

句型aabbAb的句柄是D: bA; 

S->aB->aaBB->aabSB->aabbAB->aabbAb 

按照最左推导,其中的S->bA这步是最后的直接推导(即它推出的bA不再被继续往下推导),虽然B->b也是这样的,但不是最左的。 

 

总结:

 

画语法树:

 

    一个节点的所有子叶子节点从左到右相连即是该句型的短语

  当子树中不包含其他更小的子树时,该子数叶结点所组成的字符串就是该句型的直接(简单)短语——重点看该子叶子节点的兄弟节点。最左简单短语为句柄

 

直接推导:

按最左推导,最后的直接推导出的结果是简单短语,最左简单短语为句柄

 

 

句柄 简单短语 短语 素短语 都是取自句型的一部分

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 华为开机需要激活码怎么办 高铁提前上车了出站怎么办 买火车票忘记带身份证怎么办 买高铁票没赶上怎么办 电脑放视频没有声音怎么办 内业计算中角度超限怎么办 遇到飞机出故障乘客怎么办 模拟城市5矿产满了怎么办 模拟城市5劳工短缺怎么办 模拟城市5土地价值低怎么办 考上研究生想二战研究生学籍怎么办 小米3屏幕花屏怎么办 狗被城管抓了怎么办 隔壁家的狗扰民怎么办 遛狗碰到碰瓷老太太怎么办 碰到保安碰瓷的人怎么办 碰到碰瓷的车怎么办 商品房楼上邻居违规装修怎么办 遇到不讲道理的邻居怎么办 邻居告我我该怎么办 丈夫判刑十年回来妻子怎么办 有人发色情信息给妻子怎么办 小孩拉蛋花样便怎么办 鸡下的蛋壳是软怎么办 幼升小错过了现场审核怎么办 老人户口迁移到北京医保怎么办 过山洞经常堵耳朵怎么办 门有了一个洞该怎么办 公司要求补税没钱补怎么办 公司补税补不起了怎么办 脚被石头砸肿了怎么办 砸到脚背肿了怎么办 小猫吃完饭抓地怎么办 耳机链接处断了怎么办 表链从表盘断了怎么办 龟头和皮分开了怎么办 微信买票被骗了怎么办 撞车了我的全责怎么办 蒙田包包里面不耐脏怎么办? 摩托车转向灯不会打怎么办 浓硫酸弄到脸上怎么办