《编译原理》课程教学课件(2023讲稿)cha02-2 文法和语言_短语直接短语句柄

n最左(最右)推导 2.6句型分析 u在推导的任何一步a=*>B(其中α和B是句型), 都对α中的最左(最右)非终结符进行替换。 n句型分析(句子分析) ū识别一个符号串是否为某文法的句型(句子)的过程。 u也就是某文法的某个推导的构造过程。 n设文法G为: E→E+T|T T→T*F|F F→(E)|i 自顶向下 自底向上 n请问符号串i+ii是 否为该文法的句子? 可☒
1 n 最左(最右)推导 u 在推导的任何一步α==*>β(其中α和β是句型), 都对α中的最左(最右)非终结符进行替换。 n 句型分析(句子分析) u 识别一个符号串是否为某文法的句型(句子)的过程。 u 也就是某文法的某个推导的构造过程。 n 设文法G为: E →E+T|T T →T*F|F F →(E)|i n 请问符号串i+i*i是 否为该文法的句子? E E + T T * F F F T i i i 自 顶 向 下 自 底 向 上 2.6 句型分析

常用语法分析方法 n语法分析算法可分为两大类: n自顶向下分析法 山从文法的开始符号出发,反复使用各种产生式向 下推导,寻找与输入符号串匹配的推导。 n自底向上分析法 ū从输入串开始,逐步进行归约,直至归约到文法 的开始符号。 n两种方法反映了两种不同的语法树的构造过程 ū自顶向下一一从树根推导到树叶。 ū自底向上一一从树叶归约到树根。 ☒D
2 常用语法分析方法 n 语法分析算法可分为两大类: n 自顶向下分析法 u 从文法的开始符号出发,反复使用各种产生式向 下推导,寻找与输入符号串匹配的推导。 n 自底向上分析法 u 从输入串开始,逐步进行归约,直至归约到文法 的开始符号。 n 两种方法反映了两种不同的语法树的构造过程 u 自顶向下——从树根推导到树叶。 u 自底向上——从树叶归约到树根

短语直接短语句柄 p31 n短语:若S=>aA8,且A=+>B,则称B是 句型aB8相对于非终结符号A的短语。 n直接短语:若S☐*aA8且A☐B S ,则称B是句型αBδ相对于非终结 符号A的直接短语。 A 一个句型的直接短语可能不唯一。 E 句柄:一个句型的最左直接短语 称为该句型的句柄。 E+T米F 句型E+T*i的句柄是:i 一个句型有唯一的句柄。 i 2023/2/28 ☑3
2023/2/28 3 短语 直接短语 句柄 p31 S α A δ E β ε E ε E+T*i E E+ T ε T*i E E+T* F ε i n 短语:若S==*>αAδ,且A==+>β,则称β是 句型αβδ相对于非终结符号A的短语。 n 直接短语:若S * αAδ 且 A β ,则称β是句型αβδ 相对于非终结 符号A的直接短语。 一个句型的直接短语可能不唯一。 句型E+T*i的句柄是:i 一个句型有唯一的句柄。 n 句柄:一个句型的最左直接短语 称为该句型的句柄

利用语法树寻找句型的短语、句柄等 句型n=E+T*i n寻找方法 E① 句型n的语法树有: un个内部节点一n棵子树 un棵子树一n个短语 每颗子树的叶结点从左至右排 列组成一个短语 um棵直接子树一m个直接短语 只有父子两代 3个短语E+T*iT*i1 1个直接短语i 最左直接子树一句柄 句柄i 2023/2/28 ☒D4
2023/2/28 4 利用语法树寻找句型的短语、句柄等 句型η=E+T*i E E + T T * F i n寻找方法 句型η的语法树有: un棵子树——n个短语 um棵直接子树——m个直接短语 u最左直接子树——句柄 ① ② ③ 3个短语 1个直接短语 i 句柄 i E+T*i T*i i 只有父子两代 un个内部节点——n棵子树 每颗子树的叶结点从左至右排 列组成一个短语

利用语法树寻找短语、句柄举例 例文法GE:E→E+T|TT→TFFF→(E)|i 句型1=T+TF+i的语法树 6个内部节点6棵子树 E② 句型n有6个短语: T+TF+i是句型n相对于的短语 E④+T⑤ F T+TF是句型n相对于E2的短语 T是句型n相对于E4的短语 T米F TF是句型1相对于T的短语 i,i是句型n相对于T3,6的短语 3个直接短语:T,TP,1 句柄:T 2023/2/28 ☑D6
2023/2/28 6 利用语法树寻找短语、句柄举例 句型 η=T+T*F+i 的语法树 例 文法G[E]: E→E+T|T T→T*F|F F→(E)|i E E + T F i E + T T T * F ① ② ③ ④ ⑤ ⑥ 句型η有6个短语: T+T*F+i 是句型η相对于E 1的短语 T+T*F 是句型η相对于E 2的短语 T 是句型η相对于E 4的短语 T*F 是句型η相对于T 5的短语 i,i 是句型η相对于T 3 ,F 6的短语 3个直接短语: T ,T*F,i 句柄:T 6个内部节点——6棵子树

利用语法树寻找短语、句柄课堂练习 例文法GE]:E→E+T|TT→TFFF→(E)|i 句型n=i1*i2+i3的语法树 BEGIN 8个内部节点一 8棵子树 E2 句型1有8个短语: i1*i2+i3是句型n相对于的短语 T4 F5 i1*i2是句型n相对于E2,T4的短语 i1是句型1相对于T6,F8的短语 米 F7 is 12是句型n相对于F7的短语 F8 i3是句型n相对于T3,F5的短语 32 直接短语3个:i1,12,i3 句柄:i1 2023/2/28 章节目录
2023/2/28 7 利用语法树寻找短语、句柄课堂练习 句型 η=i1*i2+i3 的语法树 8个内部节点—— 8棵子树 句型η有8个短语: i1*i2+i3是句型η相对于E 1的短语 i1*i2是句型η相对于E 2 ,T4的短语 i1是句型η相对于T 6 ,F 8的短语 i2是句型η相对于F 7的短语 i3是句型η相对于T 3,F5的短语 例 文法G[E]: E→E+T|T T→T*F|F F→(E)|i 直接短语 3个: i1, i2,i3 句柄:i1 E1 E 2 + T3 F 5 T 6 * F7 T 4 F 8 i2 i3 i1 BEGIN 章节目录
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《编译原理》课程教学课件(2023讲稿)cha02-1 文法和语言——阅读.pdf
- 《编译原理》课程教学课件(2023讲稿)cha02-1 文法和语言.pdf
- 《编译原理》课程教学课件(2023讲稿)cha01 引论.pdf
- 《计算机网络》课程教学资源(PPT课件)第一章 概述.ppt
- 《计算机网络》课程教学资源(PPT课件)第二章 物理层.ppt
- 《计算机网络》课程教学资源(PPT课件)第三章 数据链路层.ppt
- 《计算机网络》课程教学资源(PPT课件)第四章 网络层.ppt
- 《计算机网络》课程教学资源(PPT课件)第五章 运输层.ppt
- 《计算机网络》课程教学资源(PPT课件)第六章 应用层.ppt
- 《计算机网络》课程教学资源(PPT课件)第七章 网络安全.ppt
- 《计算机网络》课程教学资源(PPT课件)第八章 互联网上的音频和视频服务.ppt
- 《计算机网络》课程教学资源(PPT课件)第九章 无线网络和移动网络.ppt
- 山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)哈夫曼编码 Huffman Coding.ppt
- 山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)第零章 算法课程简介 Design and Analysis of Computer Algorithms.ppt
- 山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)第一章 算法概述概述(主讲:王红霞).ppt
- 山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)第二章 分治与递归.ppt
- 山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)第三章 动态规划 Dynamic Programming.ppt
- 山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)第四章 贪心算法 Greedy Algorithm.ppt
- 山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)第五章 回溯算法 Backtrack Algorithm.ppt
- 山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)第六章 分支限界法 Branch-and-Bound Algorithm.ppt
- 《编译原理》课程教学课件(2023讲稿)cha03 词法分析(NFA确定化最小化DFA).pdf
- 《编译原理》课程教学课件(2023讲稿)cha03 词法分析.pdf
- 《编译原理》课程教学课件(2023讲稿)cha04 自顶向下语法分析方法 讲授.pdf
- 《编译原理》课程教学课件(2023讲稿)cha04 自顶向下语法分析方法.pdf
- 《编译原理》课程教学课件(2023讲稿)cha05 自底而上语法分析.pdf
- 《编译原理》课程教学课件(2023讲稿)cha06 LR分析 1.pdf
- 《编译原理》课程教学课件(2023讲稿)cha07-08 01 语法制导翻译和中间代码生成.pdf
- 《编译原理》课程教学课件(2023讲稿)cha07-08 02 语法制导翻译和中间代码生成(补充 说明语句).pdf
- 《编译原理》课程教学课件(2023讲稿)cha09 运行时存储组织 讲授.pdf
- 《编译原理》课程教学课件(2023讲稿)cha09 运行时存储组织 阅读(含 嵌套过程定义中的非局部量访问 display表).pdf
- 《编译原理》课程教学课件(2023讲稿)cha10_1 代码优化 讲授.pdf
- 《编译原理》课程教学课件(2023讲稿)cha10_1 代码优化 阅读(含局部循环优化举例&基本块流图&DAG构造算法).pdf
- 《编译原理》课程教学课件(2023讲稿)cha10_2 代码生成 讲授.pdf
- 《编译原理》课程教学课件(2023讲稿)cha10_2 代码生成_阅读(含生成算法简介).pdf
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第1-2章 计算机与计算思维_第2章 计算思维.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第1-2章 计算机与计算思维_第1章 计算机与计算.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第5-6章 办公自动化 与 数据库_第6章数据库.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第7-8章 网络基础 与 网页设计_第8章 网页设计.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第9-10章 算法 与 程序设计_2019第九章 算法最新版.ppt
- 《计算机应用基础》课程教学资源(讲义)第九章 算法.doc
