语法分析自底向上分析技术PPT文件格式下载.ppt
- 文档编号:15101443
- 上传时间:2022-10-27
- 格式:PPT
- 页数:77
- 大小:1.48MB
语法分析自底向上分析技术PPT文件格式下载.ppt
《语法分析自底向上分析技术PPT文件格式下载.ppt》由会员分享,可在线阅读,更多相关《语法分析自底向上分析技术PPT文件格式下载.ppt(77页珍藏版)》请在冰豆网上搜索。
第五章第五章语法分析语法分析-自底向上分析技自底向上分析技术术5.1引言引言5.1.1自底向上分析技术及识别算法自底向上分析技术及识别算法5.1.2讨论的前提讨论的前提识识别别过过程程是是从从左左到到右右、自自底底向向上上地地进进行行的的,一一般般都都将将采采用用规规范范归归约约;
除除了了特特别别指指明明的的以以外外,每每一一步步总总是是对对句句柄柄最左的简单短语进行直接归约。
最左的简单短语进行直接归约。
第五章第五章语法分析语法分析-自底向上分析技自底向上分析技术术5.1引言引言5.1.3基本实现方法基本实现方法采采用用自自底底向向上上分分析析技技术术时时,通通常常以以移移入入-归归约约法法为为基基础础。
一一般般地地,动动作作共共有有44类类,即即移移入入、归归约约、接受与报错。
接受与报错。
移入:
读入下一个输入符号并把它下推进栈;
归归约约:
当当栈栈顶顶的的(部部分分)符符号号串串形形成成一一个个句句柄柄时时,对对此此句句柄柄进进行直接归约;
行直接归约;
接接受受:
当当识识别别程程序序发发现现栈栈中中除除了了栈栈底底标标志志符符号号#外外仅仅有有识识别别符号,而输入也已到达右端符号,而输入也已到达右端#,则接受;
,则接受;
报报错错:
当当识识别别程程序序察察觉觉一一个个错错误误,因因此此输输入入符符号号串串不不是是句句子子而而无无法法继继续续识识别别工工作作时时,调调用用一一个个出出错错处处理理子子程程序序进进行行处处理理或停止。
或停止。
第五章第五章语法分析语法分析-自底向上分析技自底向上分析技术术移入:
归约:
当栈顶的归约:
当栈顶的(部分部分)符号串形成一个句柄时,对此句柄进行直接归约;
符号串形成一个句柄时,对此句柄进行直接归约;
当当识识别别程程序序发发现现栈栈中中除除了了栈栈底底标标志志符符号号#外外仅仅有有识识别别符符号号,而而输输入也已到达右端入也已到达右端#,则接受;
当当识识别别程程序序察察觉觉一一个个错错误误,因因此此输输入入符符号号串串不不是是句句子子而而无无法法继继续续识别工作时,调用一个出错处理子程序进行处理或停止。
识别工作时,调用一个出错处理子程序进行处理或停止。
例例5.15.1设有文法设有文法GEGE:
E=E+E|E*E|(E)|iE=E+E|E*E|(E)|i5.2简单优先分析技术简单优先分析技术5.2.1优先关系与优先文法优先关系与优先文法5.2.2简单优先分析技术的实现简单优先分析技术的实现5.2.3简单优先分析技术的局限性及克服简单优先分析技术的局限性及克服第五章第五章语法分析语法分析-自底向上分析技自底向上分析技术术5.2简单优先分析技术简单优先分析技术5.2.1优先关系与优先文法优先关系与优先文法寻找句柄的基本思想寻找句柄的基本思想优先关系及其应用优先关系及其应用简单优先文法简单优先文法第五章第五章语法分析语法分析-自底向上分析技自底向上分析技术术5.2简单优先分析技术简单优先分析技术5.2.1优先关系与优先文法优先关系与优先文法寻找句柄的基本思想寻找句柄的基本思想优先关系及其应用优先关系及其应用简单优先文法简单优先文法第五章第五章语法分析语法分析-自底向上分析技自底向上分析技术术SSkkSSll表表示示SSkk与与SSll优优先先级级相相同同,它们同时成为句柄的一部分;
它们同时成为句柄的一部分;
SSkkSSll表表示示SSkk优优先先级级大大于于SSll,也也可可称称SSkk优优先先于于SSll,SSkk先先于于SSll成成为为句柄的一部分;
句柄的一部分;
SkSl表表示示Sk优优先先级级小小于于Sl,Sk后于后于Sl成为句柄的一部分。
成为句柄的一部分。
5.2简单优先分析技术简单优先分析技术5.2.1优先关系与优先文法优先关系与优先文法寻找句柄的基本思想寻找句柄的基本思想ZMLab()ZMLab()优先关系及其应用优先关系及其应用ZZ简单优先文法简单优先文法MMLLaabb()例例设有文法设有文法GZGZ:
Z=bMbM=(L|aL=Ma)Z=bMbM=(L|aL=Ma)第五章第五章语法分析语法分析-自底向上分析技自底向上分析技术术5.2简单优先分析技术简单优先分析技术5.2.1优先关系与优先文法优先关系与优先文法寻找句柄的基本思想寻找句柄的基本思想优先关系及其应用优先关系及其应用简单优先文法简单优先文法定义定义5.25.2如果某个文法如果某个文法GG满足下列条件:
满足下列条件:
条条件件11其其字字汇汇表表中中的的任任意意两两个个符符号号之之间间至至多多有有一一种种优先关系成立;
优先关系成立;
条条件件2任任何何两两个个重重写写规规则则都都没没有有相相同同的的右右部部,则则称称文文法法G是简单优先文法,简称优先文法或是简单优先文法,简称优先文法或(1(1,1)1)优先文法。
优先文法。
一个简单优先文法是无二义性的一个简单优先文法是无二义性的第五章第五章语法分析语法分析-自底向上分析技自底向上分析技术术5.2简单优先分析技术简单优先分析技术5.2.2简单优先分析技术的实现简单优先分析技术的实现简单优先分析技术的实现思想:
简单优先分析技术的实现思想:
第第一一步步:
每每次次把把栈栈顶顶符符号号SSii与与当当前前正正扫扫描描(读读入入)的的符符号号SSll比比较较优优先先级级别别,如如果果不不是是SSiiSSll,便便把把SSll下下推推入入栈栈,继继续续扫扫描描输输入入符符号号,直直到到SSiiSSll,这这时时找找到到栈栈顶顶符符号号SSii是是句句柄柄尾尾符符号号,整整个个句句柄柄已已在在栈栈中中,因因而而回回头头,在在栈栈中中自自顶顶向向底底寻寻找找优优先先关关系系成成立立的的相相邻邻两两个个符符号号SSjj11与与SSjj:
SSjj11SSjj。
这这时时找找到到了了句句柄的头符号柄的头符号SSjj。
第二步第二步:
把栈中构成句柄的子串把栈中构成句柄的子串SSjjSSii替换为相应的非终结符号。
替换为相应的非终结符号。
重重复复上上述述过过程程,直直到到再再无无输输入入符符号号而而仅仅为为右右端端标标志志符符号号#,且栈中仅包含识别符号连同左端标志符号,且栈中仅包含识别符号连同左端标志符号#。
例例设有文法设有文法GZGZ:
Z=bMbM=(L|aL=Ma)Z=bMbM=(L|aL=Ma)识别输入符号串识别输入符号串b(aa)bb(aa)b是否是文法的句子。
是否是文法的句子。
优先矩阵:
ZMLab()ZMLab()ZZMMLLaabb()5.2简单优先分析技术简单优先分析技术5.2.2简单优先分析技术的实现简单优先分析技术的实现优先关系与文法规则的表示法优先关系与文法规则的表示法优先矩阵的表示法优先矩阵的表示法:
优先矩阵优先矩阵P的每个元素的每个元素PPijij:
PPijij=0=0如果如果SSii与与SSjj之间无优先关系之间无优先关系PPijij=1=1如果如果SSiiSSjjPPijij=2=2如果如果SSiiSSjjPPijij=3=3如果如果SSiiSSjj文法规则的表示法文法规则的表示法:
例例设有文法设有文法GEGE:
E=E+E|E*E|(E)|iE=E+E|E*E|(E)|i第五章第五章语法分析语法分析-自底向上分析技自底向上分析技术术5.2简单优先分析技术简单优先分析技术5.2.1优先关系与优先文法优先关系与优先文法5.2.2简单优先分析技术的实现简单优先分析技术的实现5.2.3简单优先分析技术的局限性及克服简单优先分析技术的局限性及克服只能应用于简单优先文法只能应用于简单优先文法构造优先关系困难,尤其是优先矩阵体积的激增构造优先关系困难,尤其是优先矩阵体积的激增第五章第五章语法分析语法分析-自底向上分析技自底向上分析技术术5.35.3算符优先分析技术算符优先分析技术5.3.15.3.1算符优先分析技术的引进算符优先分析技术的引进5.3.25.3.2算符文法算符文法5.3.35.3.3算符优先关系与算符优先文法算符优先关系与算符优先文法5.3.45.3.4算符优先文法句型的识别算符优先文法句型的识别5.3.55.3.5实际应用中的实际应用中的算符优先分析技术算符优先分析技术5.3.65.3.6算符优先技术与简单优先技术的比较算符优先技术与简单优先技术的比较第五章第五章语法分析语法分析-自底向上分析技自底向上分析技术术5.35.3算符优先分析技术算符优先分析技术5.3.15.3.1算符优先分析技术的引进算符优先分析技术的引进自底向上分析技术的步骤自底向上分析技术的步骤:
1):
1)找出句柄找出句柄u;
u;
2)2)找出规则找出规则U=uU=u;
3)把把uu直接归约成直接归约成UU。
分析技术不同分析技术不同,寻找句柄的方法也不同。
寻找句柄的方法也不同。
对对算算术术表表达达式式,运运算算符符完完全全决决定定了了运运算算次次序序,运运算算对对象象完完全全不不起起作作用用。
因因此此,将将文文法法中中的的终终结结符符号号运运算算符符;
非终结符号非终结符号运算对象。
运算对象。
算符优先分析技术:
只在终结符号之间引进优先关系。
第五章第五章语法分析语法分析-自底向上分析技自底向上分析技术术5.35.3算符优先分析技术算符优先分析技术5.3.15.3.1算符优先分析技术的引进算符优先分析技术的引进5.3.25.3.2算符文法算符文法定义定义5.7如果文法如果文法G中没有形如中没有形如U=VW的规则,其中的规则,其中U、V、WVN,则该文法,则该文法G称为算称为算符文法,缩写为符文法,缩写为OG。
第五章第五章语法分析语法分析-自底向上分析技自底向上分析技术术5.35.3算符优先分析技术算符优先分析技术5.3.15.3.1算符优先分析技术的引进算符优先分析技术的引进5.3.25.3.2算符文法算符文法5.3.35.3.3算符优先关系与算符优先文法算符优先关系与算符优先文法算符优先关系算符优先关系算符优先文法算符优先文法第五章第五章语法分析语法分析-自底
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语法分析 向上 分析 技术