编译原理之 短语&直接短语&句柄 定义与区分 | 您所在的位置:网站首页 › root相关短语 › 编译原理之 短语&直接短语&句柄 定义与区分 |
编译原理之 短语&直接短语&句柄 定义与区分
一、关于短语二、关于直接短语三、关于句柄四、小练习1、练习一2、练习二
五、知识加强拓展1、利用语法树寻找句型的短语、直接短语、句柄方法2、利用语法树寻找短语、句柄等方法总结3、利用语法树寻找短语、句柄举例
叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧!
![]() 书上的定义如下: 书上写的比较抽象,我这里简单解释一下,有两个文法,分别是: S=*=>aAp (由于部分字符难以输入,在此用a,b,p代替) A=+=>b我们由此可以画出他的抽象语法树,如下: 总结来说:一个句型的语法树中任一子树叶结点所组成的符号串都是该句型的短语,由这概念,那么我们自然可以想到,b也应该是该句型的一个短语。 二、关于直接短语书中的定义:
先来看一下书中的定义: 如何证明E+T*F是句型呢? 最简单的方法就是画抽象语法树,如果能画出对应的抽象语法树,则就表明此表达式是文法的一个句型。 抽象语法树如下: 按如上的语法树可知,E=T*F为此文法的一个句型: 短语: TF, E+TF 直接短语:T*F 句柄:T*F 简析:对于子树T来说,其所有叶子节点为:TF,对于E来说,其所有叶子节点为:E+TF故短语为 TF 和 E+TF 这个比较简单,我们下面来个比较复杂的题目。 2、练习二 S -> a|b|(T) T -> TdS|S 证明(Sd(T)db)是S的一个句型,并求出短语,直接短语,句柄。此文法的抽象语法树为: 由此可得S=(Sd(T)db)为此文法的一个句型: 短语:S,(T),b,Sd(T),Sd(T)db,(Sd(T)db)直接短语:S,(T),b句柄:S 五、知识加强拓展 1、利用语法树寻找句型的短语、直接短语、句柄方法(1)示例一:
Ending! 更多课程知识学习记录随后再来吧! 就酱,嘎啦!注: 1、我们愈是学习,愈觉得自己的贫乏。 —— 雪莱 2、编译原理中的短语,直接短语,句柄的定义参见文章:https://blog.csdn.net/it_dream_er/article/details/53612006 |
CopyRight 2018-2019 实验室设备网 版权所有 |