短语,直接短语,素短语与最左素短语(语法树求法)
目录
1.基本概念
(1)短语和直接短语:
(2)素短语:
(3)最左素短语:
2.判断方法
3.例题演示
1.基本概念
(1)短语和直接短语:
一个句型的语法树中任一子树叶结点所组成的符号串都是该句型的短语,当子树中不包含其他更小的子树时,该子数叶结点所组成的字符串就是该句型的直接(简单)短语。
(2)素短语:
它是一个递归的定义,至少含有一个终结符,并且除它自身之外不再含任何更小的素短语,所谓最左素短语就是处于句型最左边的素短语的短语。而一个算符优先文法G的任何句型的最左素短语是满足以下条件的最左子串NaNb…NcNdN(N是非终结符,a,b,c,d是终结符)
(3)最左素短语:
2.判断方法
(1) 根据句型画语法推导树。
(2) 判断短语:短语是语法推导树中每一个非叶子节点作为根的子树,从左到右的叶子节点。注意:短语可以是非终结符。
(3) 判断直接短语:直接短语在短语中找,它们作为子树的叶子节点,根节点必须是它们所有节点的父亲节点。
(4) 判断素短语:素短语递归定义,满足三个条件:
① 素短语是短语。
② 素短语中必须包含至少一个终结符。
③ 素短语中不能包含其它素短语。
(5) 最左素短语:在语法推导树中最靠左的素短语。
3.例题演示
对照上面的步骤,第一步先自下而上构造出语法树
最后可以得出答案:
短语,直接短语,素短语与最左素短语(语法树求法)相关推荐
- 《编译原理》求短语,直接短语,句柄,素短语,最左素短语 - 例题解析
<编译原理>求短语,直接短语,句柄,素短语,最左素短语 - 例题解析 笔记 (一)明确概念: 名称 概念 短语 定义: 若 S 为文法 G 的开始符号,αβδ 是该文法的一个句型,即 S ...
- 最左直接短语,短语,句柄,最左素短语,素短语
(一)明确概念: 名称 概念 短语 定义: 若 S 为文法 G 的开始符号,αβδ 是该文法的一个句型,即 S ⇒* αβδ,且有 A ⇒+ β,则称 β 是句型 αβδ 相对于非终结符 A 的短语. ...
- 【编译原理】短语、直接短语、句柄、素短语、最左素短语概念辨析例题练习
概念 短语:某个句型中可以成功归约的子串(1-n个终结符) 直接短语/简单短语:可一步归约的短语(即若节点A下一步推出的均为叶子节点,则这些叶子节点构成的子串为一个直接短语) i1+i2 (√) i1 ...
- 编译原理第二章课后习题,文法的二义性判断、语法树以及最左最右推导
第二章 1.文法G=({A,B,S},{a,b,c}P,S),其中P为S→Ac|aB,A→ab,B→bc 写出L(G[S])的全部元素. 答:L(G[S])={abc} 2.文法G[N]为N→D|ND ...
- 素短语,最左素短语-编译原理
这个连接是句型,短语,简单短语,句柄的定义http://blog.csdn.net/qq78442761/article/details/53868673 下面是素短语和最左素短语的定义: 素短语,是 ...
- 短语、直接短语、句柄、素短语、最左素短语
复习编译原理,理了一下几个基本概念的判断思路: 1. 根据句型画语法推导树. 2. 判断短语:短语是语法推导树中每一个非叶子节点作为根的子树,从左到右的叶子节点.注意:短语可以是非终结符. 3. 判断 ...
- 编译原理:短语、直接短语、句柄、素短语、最左素短语案例零基础解析
短语.直接短语.句柄.素短语.最左素短语为句型分析的有关问题,其编译原理(第三版)书中的章节分别为2.6.3和5.3.4 概念解析: PS:先了解文法.句型.句子等基础概念 短语: 某一个句型中可以成 ...
- 编译原理基本定义(短语、直接短语、句柄、素短语、最左素短语)
一般先根据句型写出语法树,然后再根据语法树进行求解. 举个例子: 先画出语法树(最左推导): 短语:在语法树中,先找出所有的非终结符,然后用叶子节点去替换他们,最后得到的集合就是短语的集合. 这里的非 ...
- 短语,直接短语,句柄、最左素短语
一.关于短语 书上的定义如下: 书上写的比较抽象,我这里简单解释一下,有两个文法,分别是: 1 S=*=>aAp (由于部分字符难以输入,在此用a,b,p代替) 2 A=+=>b 我们由此 ...
最新文章
- 桌面桌面虚拟化-Vmware 兼容性怎么查询
- http请求的3位返回码简单解释
- PHP程序员helloworld,基于yaf的Hello world示例
- 解决error 1045: Access denied for user: 'root@localhost' (Using password: YES)
- ylbtech-Model-Account(通用账户模块设计)
- python读取word指定内容_python读取word 中指定位置的表格及表格数据
- Struts标签入门
- 计算机中逻辑运算用什么表示逻辑真,计算机逻辑运算和逻辑部.ppt
- C++11常用新特性
- 宋宝华:深入理解cache对写好代码至关重要
- 高德地图聚合自定义样式
- word大纲视图快速转成PPT
- NOI2014 起床困难综合症
- BZOJ3420: Poi2013 Triumphal arch
- 分门别类刷leetcode——栈、队列、堆(C++实现)
- 前度字符串转数组_leetcode每日一题
- 【技巧】我是如何 搜索 到想要的信息的
- 老九学堂 学习C++ 第六天
- 3G上网:按时长计费是运营商的“最佳选择”
- 为什么服务器都是8点维护,25日全服维护8小时 分服务器还是开新副本